qemu/target/i386
Tom Lendacky 92a5199b29 sev/i386: Don't allow a system reset under an SEV-ES guest
An SEV-ES guest does not allow register state to be altered once it has
been measured. When an SEV-ES guest issues a reboot command, Qemu will
reset the vCPU state and resume the guest. This will cause failures under
SEV-ES. Prevent that from occuring by introducing an arch-specific
callback that returns a boolean indicating whether vCPUs are resettable.

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: David Hildenbrand <david@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Venu Busireddy <venu.busireddy@oracle.com>
Message-Id: <1ac39c441b9a3e970e9556e1cc29d0a0814de6fd.1611682609.git.thomas.lendacky@amd.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 sev/i386: Don't allow a system reset under an SEV-ES guest 2021-02-16 17:15:39 +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 sev/i386: Add initial support for SEV-ES 2021-02-16 17:15:39 +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: update sev-inject-launch-secret to make gpa optional 2021-02-16 17:15:39 +01:00
ops_sse_header.h x86 tcg cpus: Fix Lesser GPL version number 2020-11-15 16:41:42 +01:00
ops_sse.h x86 tcg cpus: Fix Lesser GPL version number 2020-11-15 16:41:42 +01:00
sev_i386.h sev/i386: Add initial support for SEV-ES 2021-02-16 17:15:39 +01:00
sev-stub.c sev/i386: Allow AP booting under SEV-ES 2021-02-16 17:15:39 +01:00
sev.c sev/i386: Allow AP booting under SEV-ES 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