From: Eduardo Habkost Date: Thu, 10 Dec 2020 20:06:27 +0000 (-0500) Subject: smbios: smbios_get_tables() function X-Git-Tag: rel-1.16.0~35 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b251b21b2bb39e819321d89f48d14cb0559a0036;p=seabios.git smbios: smbios_get_tables() function The new function will be useful for code that just needs the address and length of SMBIOS tables. Signed-off-by: Eduardo Habkost --- diff --git a/src/fw/biostables.c b/src/fw/biostables.c index 3c30331..1adc694 100644 --- a/src/fw/biostables.c +++ b/src/fw/biostables.c @@ -315,6 +315,15 @@ copy_smbios_21(void *pos) SMBios21Addr = copy_fseg_table("SMBIOS", pos, p->length); } +void *smbios_get_tables(u32 *length) +{ + if (SMBios21Addr) { + *length = SMBios21Addr->structure_table_length; + return (void *)SMBios21Addr->structure_table_address; + } + return NULL; +} + void display_uuid(void) { diff --git a/src/util.h b/src/util.h index f761271..2e15175 100644 --- a/src/util.h +++ b/src/util.h @@ -88,6 +88,7 @@ u32 find_resume_vector(void); void acpi_reboot(void); void find_acpi_features(void); extern struct smbios_21_entry_point *SMBios21Addr; +void *smbios_get_tables(u32 *length); void copy_smbios_21(void *pos); void display_uuid(void); void copy_table(void *pos);