efi/metadata: Make a note that efi_map_header isn't standard

efi_map_header is similar to, but not at all the same as the UEFI
EFI_MEMORY_ATTRIBUTES_TABLE (we could easily have used the latter
though, with one fewer non-standard types, but we can't change
it easily now due to the last 10 years of boot loaders passing
this in).

Sponsored by:		Netflix
This commit is contained in:
Warner Losh 2025-04-09 15:16:56 -06:00
parent 849f8fea5c
commit a3fa657edd
4 changed files with 32 additions and 12 deletions

View file

@ -33,10 +33,15 @@
#define MODINFOMD_DTBP 0x1002
#define MODINFOMD_EFI_MAP 0x1003
/*
* This is not the same as the UEFI standard EFI_MEMORY_ATTRIBUTES_TABLE, though
* memory_size / descritpr_size entries of EFI_MEMORY_DESCRIPTORS follow this table
* starting at a 16-byte alignment.
*/
struct efi_map_header {
uint64_t memory_size;
uint64_t descriptor_size;
uint32_t descriptor_version;
uint64_t memory_size; /* Numnber of bytes that follow */
uint64_t descriptor_size; /* Size of each EFI_MEMORY_DESCRIPTOR */
uint32_t descriptor_version; /* Currently '1' */
};
/*

View file

@ -31,10 +31,15 @@
#define MODINFOMD_DTBP 0x1002
#define MODINFOMD_EFI_FB 0x1003
/*
* This is not the same as the UEFI standard EFI_MEMORY_ATTRIBUTES_TABLE, though
* memory_size / descritpr_size entries of EFI_MEMORY_DESCRIPTORS follow this table
* starting at a 16-byte alignment.
*/
struct efi_map_header {
size_t memory_size;
size_t descriptor_size;
uint32_t descriptor_version;
size_t memory_size; /* Numnber of bytes that follow */
size_t descriptor_size; /* Size of each EFI_MEMORY_DESCRIPTOR */
uint32_t descriptor_version; /* Currently '1' */
};
struct efi_fb {

View file

@ -33,10 +33,15 @@
#define MODINFOMD_EFI_FB 0x1003
#define MODINFOMD_BOOT_HARTID 0x1004
/*
* This is not the same as the UEFI standard EFI_MEMORY_ATTRIBUTES_TABLE, though
* memory_size / descritpr_size entries of EFI_MEMORY_DESCRIPTORS follow this table
* starting at a 16-byte alignment.
*/
struct efi_map_header {
size_t memory_size;
size_t descriptor_size;
uint32_t descriptor_version;
size_t memory_size; /* Numnber of bytes that follow */
size_t descriptor_size; /* Size of each EFI_MEMORY_DESCRIPTOR */
uint32_t descriptor_version; /* Currently '1' */
};
/*

View file

@ -36,10 +36,15 @@
#define MODINFOMD_VBE_FB 0x1007
#define MODINFOMD_EFI_ARCH 0x1008
/*
* This is not the same as the UEFI standard EFI_MEMORY_ATTRIBUTES_TABLE, though
* memory_size / descritpr_size entries of EFI_MEMORY_DESCRIPTORS follow this table
* starting at a 16-byte alignment.
*/
struct efi_map_header {
uint64_t memory_size;
uint64_t descriptor_size;
uint32_t descriptor_version;
uint64_t memory_size; /* Numnber of bytes that follow */
uint64_t descriptor_size; /* Size of each EFI_MEMORY_DESCRIPTOR */
uint32_t descriptor_version; /* Currently '1' */
};
struct efi_fb {