The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a3fa657eddade274a5cb684b5e5e890eef67ad25

commit a3fa657eddade274a5cb684b5e5e890eef67ad25
Author:     Warner Losh <i...@freebsd.org>
AuthorDate: 2025-04-09 21:16:56 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2025-04-09 21:16:56 +0000

    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
---
 sys/arm/include/metadata.h   | 11 ++++++++---
 sys/arm64/include/metadata.h | 11 ++++++++---
 sys/riscv/include/metadata.h | 11 ++++++++---
 sys/x86/include/metadata.h   | 11 ++++++++---
 4 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/sys/arm/include/metadata.h b/sys/arm/include/metadata.h
index 49f3a32826b8..d6f6f5ac8553 100644
--- a/sys/arm/include/metadata.h
+++ b/sys/arm/include/metadata.h
@@ -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' */
 };
 
 /*
diff --git a/sys/arm64/include/metadata.h b/sys/arm64/include/metadata.h
index 7459aa90a6e2..30ec5115e670 100644
--- a/sys/arm64/include/metadata.h
+++ b/sys/arm64/include/metadata.h
@@ -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 {
diff --git a/sys/riscv/include/metadata.h b/sys/riscv/include/metadata.h
index ddbad3fae3b4..7f7b763577e3 100644
--- a/sys/riscv/include/metadata.h
+++ b/sys/riscv/include/metadata.h
@@ -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' */
 };
 
 /*
diff --git a/sys/x86/include/metadata.h b/sys/x86/include/metadata.h
index b3eb4b16c1ba..dd8a8ef6c73d 100644
--- a/sys/x86/include/metadata.h
+++ b/sys/x86/include/metadata.h
@@ -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 {

Reply via email to