When building the firmware with PSCI support, only the primary core enters UEFI, and the secondaries remain under the control of the EL3 firmware until the moment the OS invokes PSCI methords to release them.
This means we can use the UP variant or PrePeiCore in this case.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/AMD/Styx/HuskyBoard/HuskyBoard.dsc | 4 ++++ Platforms/AMD/Styx/HuskyBoard/HuskyBoard.fdf | 4 ++++ Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc | 4 ++++ Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf | 4 ++++ 4 files changed, 16 insertions(+)
diff --git a/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.dsc b/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.dsc index a60e09682df4..2e8cbffd80c9 100644 --- a/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.dsc +++ b/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.dsc @@ -547,7 +547,11 @@ DEFINE TRANS_CODE = $(EL3_TO_EL2) # # PEI Phase modules # +!if $(DO_PSCI) + ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +!else ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +!endif MdeModulePkg/Core/Pei/PeiMain.inf MdeModulePkg/Universal/PCD/Pei/Pcd.inf { <LibraryClasses> diff --git a/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.fdf b/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.fdf index 6cb89d394010..5543b08b2dc9 100644 --- a/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.fdf +++ b/Platforms/AMD/Styx/HuskyBoard/HuskyBoard.fdf @@ -248,7 +248,11 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
+!if $(DO_PSCI) + INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +!else INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +!endif INF MdeModulePkg/Core/Pei/PeiMain.inf INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf INF AmdModulePkg/Iscp/IscpPei.inf diff --git a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc index bbb6b9edcbaf..e4ece5e23218 100644 --- a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc +++ b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc @@ -558,7 +558,11 @@ DEFINE TRANS_CODE = $(EL3_TO_EL2) # # PEI Phase modules # +!if $(DO_PSCI) + ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +!else ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +!endif MdeModulePkg/Core/Pei/PeiMain.inf MdeModulePkg/Universal/PCD/Pei/Pcd.inf { <LibraryClasses> diff --git a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf index d0fb9000e2a2..263a267fbae7 100644 --- a/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf +++ b/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.fdf @@ -247,7 +247,11 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE
+!if $(DO_PSCI) + INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf +!else INF ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf +!endif INF MdeModulePkg/Core/Pei/PeiMain.inf INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf INF AmdModulePkg/Iscp/IscpPei.inf