qemu-e2k/hw
Paolo Bonzini b2f73a0784 sev/i386: Allow AP booting under SEV-ES
When SEV-ES is enabled, it is not possible modify the guests register
state after it has been initially created, encrypted and measured.

Normally, an INIT-SIPI-SIPI request is used to boot the AP. However, the
hypervisor cannot emulate this because it cannot update the AP register
state. For the very first boot by an AP, the reset vector CS segment
value and the EIP value must be programmed before the register has been
encrypted and measured. Search the guest firmware for the guest for a
specific GUID that tells Qemu the value of the reset vector to use.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <22db2bfb4d6551aed661a9ae95b4fdbef613ca21.1611682609.git.thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-16 17:15:39 +01:00
..
9pfs
acpi acpi: Permit OEM ID and OEM table ID fields to be changed 2021-02-05 08:52:59 -05:00
adc
alpha
arm hw/arm: versal: Use nr_apu_cpus in favor of hard coding 2 2021-02-11 19:48:09 +00:00
audio
avr
block xen-block: fix reporting of discard feature 2021-02-15 15:10:14 +01:00
char
core confidential guest support: Alter virtio default properties for protected guests 2021-02-08 16:57:38 +11:00
cpu
cris
display display/ui: add a callback to indicate GL state is flushed 2021-02-04 15:58:54 +01:00
dma
gpio
hppa
hyperv
i2c
i386 sev/i386: Allow AP booting under SEV-ES 2021-02-16 17:15:39 +01:00
ide hw/ide/ahci: map cmd_fis as DMA_DIRECTION_TO_DEVICE 2021-02-15 15:10:14 +01:00
input
intc ppc/xive: Add firmware bit when dumping the ENDs 2021-02-10 10:43:50 +11:00
ipack
ipmi
isa
lm32
m68k m68k: import bootinfo headers from linux 2021-02-11 21:56:42 +01:00
mem
microblaze
mips cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass 2021-02-05 10:24:15 -10:00
misc arm: Update infocenter.arm.com URLs 2021-02-11 11:50:14 +00:00
moxie
net hw/net: fsl_etsec: Reverse the RCTRL.RSF logic 2021-02-10 14:50:11 +11:00
nios2
nubus
nvram nvram: add nrf51_soc flash read method 2021-02-08 15:15:32 +01:00
openrisc
pci pci: add romsize property 2021-02-05 08:52:58 -05:00
pci-bridge
pci-host Pull request 2021-02-10 15:42:20 +00:00
pcmcia
ppc hw/ppc: e500: Fill in correct <clock-frequency> for the serial nodes 2021-02-10 14:50:11 +11:00
rdma
remote multi-process: perform device reset in the remote process 2021-02-10 09:23:28 +00:00
riscv
rtc
rx
s390x s390: Recognize confidential-guest-support option 2021-02-08 16:57:38 +11:00
scsi virtio-scsi: don't uninitialize queues that we didn't initialize 2021-02-08 14:43:55 +01:00
sd
semihosting
sh4
smbios
sparc
sparc64
ssi
timer arm: Update infocenter.arm.com URLs 2021-02-11 11:50:14 +00:00
tpm
tricore
unicore32
usb
vfio vfio: add quirk device write method 2021-02-08 15:15:32 +01:00
virtio vhost: Check for valid vdev in vhost_backend_handle_iotlb_msg 2021-02-05 08:52:59 -05:00
watchdog
xen pci: add romsize property 2021-02-05 08:52:58 -05:00
xenpv
xtensa
Kconfig multi-process: Add config option for multi-process QEMU 2021-02-09 20:53:56 +00:00
meson.build multi-process: setup a machine object for remote device process 2021-02-10 09:23:28 +00:00