qemu-patch-raspberry4/target/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
..
hax accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
hvf accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
kvm target/i386: Add support for save/load IA32_PKRS MSR 2021-02-08 15:15:32 +01:00
tcg target/i86: implement PKS 2021-02-08 14:43:55 +01:00
whpx accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
arch_dump.c dump: add kernel_gs_base to QEMU CPU state 2018-07-16 16:13:34 +02:00
arch_memory_mapping.c exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly 2017-09-19 18:21:33 +02:00
cpu-dump.c i386: move cpu dump out of helper.c into cpu-dump.c 2020-12-16 14:06:53 -05:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
cpu.c target/i386: Expose VMX entry/exit load pkrs control bits 2021-02-08 15:15:32 +01:00
cpu.h target/i386: Expose VMX entry/exit load pkrs control bits 2021-02-08 15:15:32 +01:00
gdbstub.c target/i386: Use X86Seg enum for segment registers 2021-01-12 17:05:10 +01:00
helper.c target/i86: implement PKS 2021-02-08 14:43:55 +01:00
helper.h target/i386: fix IEEE SSE floating-point exception raising 2020-07-10 18:02:17 -04:00
machine.c target/i86: implement PKS 2021-02-08 14:43:55 +01:00
meson.build i386: move cpu dump out of helper.c into cpu-dump.c 2020-12-16 14:06:53 -05:00
monitor.c sev: add sev-inject-launch-secret 2020-12-10 17:33:17 -05:00
ops_sse.h x86 tcg cpus: Fix Lesser GPL version number 2020-11-15 16:41:42 +01:00
ops_sse_header.h x86 tcg cpus: Fix Lesser GPL version number 2020-11-15 16:41:42 +01:00
sev-stub.c sev: Remove false abstraction of flash encryption 2021-02-08 16:57:38 +11:00
sev.c confidential guest support: Move SEV initialization into arch specific code 2021-02-08 16:57:38 +11:00
sev_i386.h pc: add parser for OVMF reset block 2021-02-16 17:15:39 +01:00
shift_helper_template.h x86 tcg cpus: Fix Lesser GPL version number 2020-11-15 16:41:42 +01:00
svm.h tcg/svm: use host cr4 during NPT page table walk 2020-07-10 18:02:14 -04:00
trace-events i386: move kvm accel files into kvm/ 2020-12-16 14:06:52 -05:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
xsave_helper.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00