aboutsummaryrefslogtreecommitdiffstats
path: root/src/std/smbios.h
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2020-12-10 10:32:44 -0500
committerKevin O'Connor <kevin@koconnor.net>2021-12-18 11:39:13 -0500
commiteafea937e4c03a471ada20d88d39e7aa69a57530 (patch)
tree5310ab320126516599a41600b4c1643af4777ddb /src/std/smbios.h
parentddd0f7b877695bc15a88f5f0077868329518d7bf (diff)
downloadseabios-eafea937e4c03a471ada20d88d39e7aa69a57530.tar.gz
smbios: copy_smbios_30() function
Add new copy_smbios_30() function, that will be used to support SMBIOS 3.0 entry points. The SMBIOS 3.0 entry point will be tracked in a separate SMBios30Addr variable, because both 2.1 and 3.0 entry points may exist at the same time. Adjust the smbios_get_tables(), smbios_major_version(), and smbios_minor_version() helpers to use the SMBIOS 3.0 entry point if available. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'src/std/smbios.h')
-rw-r--r--src/std/smbios.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/std/smbios.h b/src/std/smbios.h
index 17fdfed6..208440b1 100644
--- a/src/std/smbios.h
+++ b/src/std/smbios.h
@@ -25,6 +25,19 @@ struct smbios_21_entry_point {
u8 smbios_bcd_revision;
} PACKED;
+struct smbios_30_entry_point {
+ char signature[5];
+ u8 checksum;
+ u8 length;
+ u8 smbios_major_version;
+ u8 smbios_minor_version;
+ u8 smbios_docrev;
+ u8 entry_point_revision;
+ u8 reserved;
+ u32 structure_table_max_size;
+ u64 structure_table_address;
+} PACKED;
+
/* This goes at the beginning of every SMBIOS structure. */
struct smbios_structure_header {
u8 type;