summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fw/biostables.c9
-rw-r--r--src/util.h1
2 files changed, 10 insertions, 0 deletions
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);