qemu/include/hw/i386
James Bottomley 9617cddb72 pc: add parser for OVMF reset block
OVMF is developing a mechanism for depositing a GUIDed table just
below the known location of the reset vector.  The table goes
backwards in memory so all entries are of the form

<data>|len|<GUID>

Where <data> is arbtrary size and type, <len> is a uint16_t and
describes the entire length of the entry from the beginning of the
data to the end of the guid.

The foot of the table is of this form and <len> for this case
describes the entire size of the table.  The table foot GUID is
defined by OVMF as 96b582de-1fb2-45f7-baea-a366c55a082d and if the
table is present this GUID is just below the reset vector, 48 bytes
before the end of the firmware file.

Add a parser for the ovmf reset block which takes a copy of the block,
if the table foot guid is found, minus the footer and a function for
later traversal to return the data area of any specified GUIDs.

Signed-off-by: James Bottomley <jejb@linux.ibm.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20210204193939.16617-2-jejb@linux.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-16 17:15:39 +01:00
..
apic_internal.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
apic-msidef.h i386/msi: Correct mask of destination ID in MSI address 2017-12-01 18:28:15 +02:00
apic.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ich9.h hw/isa/lpc_ich9: Ignore reserved/invalid SCI IRQ 2020-11-03 09:42:53 -05:00
intel_iommu.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ioapic_internal.h x86: add support for second ioapic 2020-12-10 08:47:44 +01:00
ioapic.h x86: add support for second ioapic 2020-12-10 08:47:44 +01:00
microvm.h acpi: Permit OEM ID and OEM table ID fields to be changed 2021-02-05 08:52:59 -05:00
pc.h pc: add parser for OVMF reset block 2021-02-16 17:15:39 +01:00
topology.h Revert "hw/i386: Update structures to save the number of nodes per package" 2020-09-02 07:29:26 -04:00
vmport.h hw/i386/vmport: Drop superfluous parenthesis around function typedef 2020-09-18 13:49:54 -04:00
x86-iommu.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
x86.h i386: remove bios_name 2020-12-10 12:15:05 -05:00