mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 07:04:28 +02:00
UefiCpuPkg/MpInitLib: Add CPU MP data flag to indicate if SEV-ES is enabled
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2198 When starting APs in an SMP configuration, the AP needs to know if it is running as an SEV-ES guest in order to assign a GHCB page. Add a field to the CPU_MP_DATA structure that will indicate if SEV-ES is enabled. This new field is set during MP library initialization with the PCD value PcdSevEsIsEnabled. This flag can then be used to determine if SEV-ES is enabled. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
0d7601e546
commit
e88a5b9833
@ -71,4 +71,5 @@
|
|||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode ## CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode ## CONSUMES
|
||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate ## SOMETIMES_CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate ## SOMETIMES_CONSUMES
|
||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuApStatusCheckIntervalInMicroSeconds ## CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApStatusCheckIntervalInMicroSeconds ## CONSUMES
|
||||||
|
gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled ## CONSUMES
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
|
||||||
|
@ -1704,6 +1704,7 @@ MpInitLibInitialize (
|
|||||||
CpuMpData->CpuData = (CPU_AP_DATA *) (CpuMpData + 1);
|
CpuMpData->CpuData = (CPU_AP_DATA *) (CpuMpData + 1);
|
||||||
CpuMpData->CpuInfoInHob = (UINT64) (UINTN) (CpuMpData->CpuData + MaxLogicalProcessorNumber);
|
CpuMpData->CpuInfoInHob = (UINT64) (UINTN) (CpuMpData->CpuData + MaxLogicalProcessorNumber);
|
||||||
InitializeSpinLock(&CpuMpData->MpLock);
|
InitializeSpinLock(&CpuMpData->MpLock);
|
||||||
|
CpuMpData->SevEsIsEnabled = PcdGetBool (PcdSevEsIsEnabled);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Make sure no memory usage outside of the allocated buffer.
|
// Make sure no memory usage outside of the allocated buffer.
|
||||||
|
@ -276,6 +276,8 @@ struct _CPU_MP_DATA {
|
|||||||
// driver.
|
// driver.
|
||||||
//
|
//
|
||||||
BOOLEAN WakeUpByInitSipiSipi;
|
BOOLEAN WakeUpByInitSipiSipi;
|
||||||
|
|
||||||
|
BOOLEAN SevEsIsEnabled;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EFI_GUID mCpuInitMpLibHobGuid;
|
extern EFI_GUID mCpuInitMpLibHobGuid;
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize ## CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize ## CONSUMES
|
||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode ## CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode ## CONSUMES
|
||||||
gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate ## SOMETIMES_CONSUMES
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate ## SOMETIMES_CONSUMES
|
||||||
|
gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled ## CONSUMES
|
||||||
|
|
||||||
[Ppis]
|
[Ppis]
|
||||||
gEdkiiPeiShadowMicrocodePpiGuid ## SOMETIMES_CONSUMES
|
gEdkiiPeiShadowMicrocodePpiGuid ## SOMETIMES_CONSUMES
|
||||||
|
Loading…
x
Reference in New Issue
Block a user