aboutsummaryrefslogtreecommitdiff
path: root/tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2019-04-25 11:44:15 +0200
committerLaszlo Ersek <lersek@redhat.com>2019-05-03 10:52:20 +0200
commitb097ba371a68814e5ed85427ceec88f1e760ec96 (patch)
treea1815c7f798f81db95a627f31577853f1f4dcc83 /tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
parent8482ff2eb3bb95020eb2f370a9b3ea26511e41df (diff)
tests/uefi-test-tools: report the SMBIOS entry point structures
On UEFI systems, the SMBIOS entry point (a.k.a. anchor) structures are found similarly to the ACPI RSD PTR table(s): by scanning the ConfigurationTable array in the EFI system table for well-known GUIDs. Locate the SMBIOS 2.1 (32-bit) and 3.0 (64-bit) anchors in the BiosTablesTest UEFI application, and report the addresses in new fields appended to the BIOS_TABLES_TEST structure. Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com> Cc: Igor Mammedov <imammedo@redhat.com> Launchpad: https://bugs.launchpad.net/qemu/+bug/1821884 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Igor Mammedov <imammedo@redhat.com>
Diffstat (limited to 'tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h')
-rw-r--r--tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h b/tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
index 0b72c61254..7a74c121d5 100644
--- a/tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
+++ b/tests/uefi-test-tools/UefiTestToolsPkg/Include/Guid/BiosTablesTest.h
@@ -1,13 +1,14 @@
/** @file
- Expose the address(es) of the ACPI RSD PTR table(s) in a MB-aligned structure
- to the hypervisor.
+ Expose the address(es) of the ACPI RSD PTR table(s) and the SMBIOS entry
+ point(s) in a MB-aligned structure to the hypervisor.
The hypervisor locates the MB-aligned structure based on the signature GUID
- that is at offset 0 in the structure. Once the RSD PTR address(es) are
- retrieved, the hypervisor may perform various ACPI checks.
+ that is at offset 0 in the structure. Once the RSD PTR and SMBIOS anchor
+ address(es) are retrieved, the hypervisor may perform various ACPI and SMBIOS
+ checks.
- This feature is a development aid, for supporting ACPI table unit tests in
- hypervisors. Do not enable in production builds.
+ This feature is a development aid, for supporting ACPI and SMBIOS table unit
+ tests in hypervisors. Do not enable in production builds.
Copyright (C) 2019, Red Hat, Inc.
@@ -61,6 +62,18 @@ typedef struct {
//
EFI_PHYSICAL_ADDRESS Rsdp10;
EFI_PHYSICAL_ADDRESS Rsdp20;
+ //
+ // The Smbios21 and Smbios30 fields may be read when the signature GUID
+ // matches. Smbios21 is the guest-physical address of the SMBIOS 2.1 (32-bit)
+ // Entry Point Structure from the SMBIOS v3.2.0 specification, in 8-byte
+ // little endian representation. Smbios30 is the guest-physical address of
+ // the SMBIOS 3.0 (64-bit) Entry Point Structure from the same specification,
+ // in the same representation. Each of these fields may be zero
+ // (independently of the other) if the UEFI System Table does not provide the
+ // corresponding UEFI Configuration Table.
+ //
+ EFI_PHYSICAL_ADDRESS Smbios21;
+ EFI_PHYSICAL_ADDRESS Smbios30;
} BIOS_TABLES_TEST;
#pragma pack ()