grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RFC: SMBIOS Multiboot 2 Tag Revision


From: Bogdan
Subject: Re: RFC: SMBIOS Multiboot 2 Tag Revision
Date: Thu, 21 Mar 2013 20:18:38 -0700 (PDT)

Hi,

Sorry for the (very) late reply. I finally have a bit of time to go over my old 
boot loader.

While I believe there is merit to your proposal, I don't understand why you 
want to remove the version information. That is required to determine whether 
the OS should use the table-based method or the older Plug-and-Play function 
interface, which was removed from SMBIOS 2.7.0. If the table-based method is 
not supported, the boot loader should set the field to NULL. After this is 
done, I think this patch should be merged, so it is not forever lost.

Cheers,
Bogdan


________________________________
From: Seth Goldberg <address@hidden>
To: address@hidden 
Sent: Tuesday, January 24, 2012 10:26 PM
Subject: RFC: SMBIOS Multiboot 2 Tag Revision

Hi,

  I'd like to revise the definition of the SMBIOS tag in the Multiboot2 Info 
structures to include ONLY the SMBIOS Entry Point structure (**).  The current 
definition includes the SMBIOS tables themselves, but this is wasteful (even it 
the maximum size of the tables is 64k, they are always located in memory, in 
reserved regions, and duplicating them would be a waste of space). 
Additionally, many OS consumers need most of the values from the Entry Point 
structure itself anyway.  The alternate solution here is to include both the 
Entry Point structure and the tables, but that's suboptimal because one would 
have to include a pointer to the tables (located after the Entry Point 
structure in memory when stored in a MBI2 tag), which would make relocating 
(copying) the entire MBI2 structure much more complicated than a simple memcpy. 
 All this boils down to the fact that the most straightforward solution is to 
JUST include the Entry Point structure, and to
 allow the SMBIOS tables to remain where firmware placed them.

Thanks,
--S

(**) The SMBIOS Entry Point structure is documented in DMTF Specification 
DSP0134 (SMBIOS Specification), the latest version of which is available from: 
http://dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.1.pdf

=== modified file 'doc/multiboot.texi'
--- doc/multiboot.texi    2012-01-24 20:11:24 +0000
+++ doc/multiboot.texi    2012-01-24 20:14:53 +0000
@@ -1072,21 +1072,21 @@

This tag contains pointer to amd64 EFI system table.

address@hidden SMBIOS tables
address@hidden SMBIOS Entry Point structure
@example
@group
         +-------------------+
u32     | type = 13         |
u32     | size              |
-u8      | major             |
-u8      | minor             |
-u8[6]   | reserved          |
-        | smbios tables     |
+        | smbios entry      |
+        |  point structure  |
         +-------------------+
@end group
@end example

-This tag contains a copy of SMBIOS tables as well as their version.
+This tag contains a copy of the SMBIOS entry point structure.  The SMBIOS
+tables are located elsewhere in memory (in firmware-reserved regions),
+referenced by the SMBIOS Entry Point structure.

@subsection ACPI old RSDP
@example

=== modified file 'doc/multiboot2.h'
--- doc/multiboot2.h    2012-01-24 20:11:24 +0000
+++ doc/multiboot2.h    2012-01-24 20:15:15 +0000
@@ -334,10 +334,7 @@
{
   multiboot_uint32_t type;
   multiboot_uint32_t size;
-  multiboot_uint8_t major;
-  multiboot_uint8_t minor;
-  multiboot_uint8_t reserved[6];
-  multiboot_uint8_t tables[0];
+  multiboot_uint8_t entry_point[0];
};

struct multiboot_tag_old_acpi


_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]