audk/UefiCpuPkg
Lendacky, Thomas dbc22a1785 UefiCpuPkg/MpInitLib: Allocate a separate SEV-ES AP reset stack area
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3324

The SEV-ES stacks currently share a page with the reset code and data.
Separate the SEV-ES stacks from the reset vector code and data to avoid
possible stack overflows from overwriting the code and/or data.

When SEV-ES is enabled, invoke the GetWakeupBuffer() routine a second time
to allocate a new area, below the reset vector and data.

Both the PEI and DXE versions of GetWakeupBuffer() are changed so that
when PcdSevEsIsEnabled is true, they will track the previous reset buffer
allocation in order to ensure that the new buffer allocation is below the
previous allocation. When PcdSevEsIsEnabled is false, the original logic
is followed.

Fixes: 7b7508ad78
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Marvin Häuser <mhaeuser@posteo.de>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <3cae2ac836884b131725866264e0a0e1897052de.1621024125.git.thomas.lendacky@amd.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
2021-05-29 11:33:16 +00:00
..
Application/Cpuid
CpuDxe
CpuFeatures
CpuIo2Dxe
CpuIo2Smm
CpuIoPei
CpuMpPei
CpuS3DataDxe
Include UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
Library UefiCpuPkg/MpInitLib: Allocate a separate SEV-ES AP reset stack area 2021-05-29 11:33:16 +00:00
PiSmmCommunication
PiSmmCpuDxeSmm UefiCpuPkg/PiSmmCpu: Remove hardcode 48 address size limitation 2021-05-18 08:07:57 +00:00
ResetVector
SecCore
SecMigrationPei
Test
Universal/Acpi/S3Resume2Pei
UefiCpuPkg.ci.yaml
UefiCpuPkg.dec UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
UefiCpuPkg.dsc UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
UefiCpuPkg.uni
UefiCpuPkgExtra.uni