[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: RFC: SMBIOS Multiboot 2 Tag Revision,
Bogdan <=