mirror of https://github.com/acidanthera/audk.git
fefcf90c33
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2198 Under SEV-ES, a DR7 read or write intercept generates a #VC exception. The #VC handler must provide special support to the guest for this. On a DR7 write, the #VC handler must cache the value and issue a VMGEXIT to notify the hypervisor of the write. However, the #VC handler must not actually set the value of the DR7 register. On a DR7 read, the #VC handler must return the cached value of the DR7 register to the guest. VMGEXIT is not invoked for a DR7 register read. The caching of the DR7 values will make use of the per-CPU data pages that are allocated along with the GHCB pages. The per-CPU page for a vCPU is the page that immediately follows the vCPU's GHCB page. Since each GHCB page is unique for a vCPU, the page that follows becomes unique for that vCPU. The SEC phase will reserves an area of memory for a single GHCB and per-CPU page for use by the BSP. After transitioning to the PEI phase, new GHCB and per-CPU pages are allocated for the BSP and all APs. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com> |
||
---|---|---|
.. | ||
AcpiTimerLib | ||
BaseMemEncryptSevLib | ||
BasePciCapLib | ||
BasePciCapPciSegmentLib | ||
BhyveFwCtlLib | ||
DxePciLibI440FxQ35 | ||
EmuVariableFvbLib | ||
GenericQemuLoadImageLib | ||
LoadLinuxLib | ||
LockBoxLib | ||
NvVarsFileLib | ||
PciHostBridgeLib | ||
PlatformBmPrintScLib | ||
PlatformBootManagerLib | ||
PlatformBootManagerLibBhyve | ||
PlatformDebugLibIoPort | ||
PlatformFvbLibNull | ||
PlatformHasIoMmuLib | ||
PlatformSecureLib | ||
PxeBcPcdProducerLib | ||
QemuBootOrderLib | ||
QemuFwCfgLib | ||
QemuFwCfgS3Lib | ||
QemuFwCfgSimpleParserLib | ||
ResetSystemLib | ||
SerializeVariablesLib | ||
SmbiosVersionLib | ||
SmmCpuFeaturesLib | ||
SmmCpuPlatformHookLibQemu | ||
Tcg2PhysicalPresenceLibNull | ||
Tcg2PhysicalPresenceLibQemu | ||
TlsAuthConfigLib | ||
UefiPciCapPciIoLib | ||
VirtioLib | ||
VirtioMmioDeviceLib | ||
VmgExitLib | ||
X86QemuLoadImageLib | ||
XenConsoleSerialPortLib | ||
XenHypercallLib | ||
XenIoMmioLib | ||
XenPlatformLib | ||
XenRealTimeClockLib |