mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg/DebugSecExtraActionLib: Added Warning comment to signal the DRAM must be inititalized at this stage
Since the System Memory initialization has been moved inside ArmPlatformSecLib on some platforms, the use of this library could crash if the firmware engineer forgot to initialize the DRAM. This library 'patches' the DRAM to add an infinite loop. Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13262 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
9d59a88be1
commit
cfe1bb1765
|
@ -64,6 +64,11 @@ ArmPlatformSecExtraAction (
|
||||||
UINTN CharCount;
|
UINTN CharCount;
|
||||||
|
|
||||||
if (FeaturePcdGet (PcdStandalone) == FALSE) {
|
if (FeaturePcdGet (PcdStandalone) == FALSE) {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Warning: This code assumes the DRAM has already been initialized by ArmPlatformSecLib
|
||||||
|
//
|
||||||
|
|
||||||
if (IS_PRIMARY_CORE(MpId)) {
|
if (IS_PRIMARY_CORE(MpId)) {
|
||||||
UINTN* StartAddress = (UINTN*)PcdGet32(PcdFvBaseAddress);
|
UINTN* StartAddress = (UINTN*)PcdGet32(PcdFvBaseAddress);
|
||||||
|
|
||||||
|
@ -85,6 +90,11 @@ ArmPlatformSecExtraAction (
|
||||||
*JumpAddress = (UINTN)NonSecureWaitForFirmware;
|
*JumpAddress = (UINTN)NonSecureWaitForFirmware;
|
||||||
}
|
}
|
||||||
} else if (FeaturePcdGet (PcdSystemMemoryInitializeInSec)) {
|
} else if (FeaturePcdGet (PcdSystemMemoryInitializeInSec)) {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Warning: This code assumes the DRAM has already been initialized by ArmPlatformSecLib
|
||||||
|
//
|
||||||
|
|
||||||
if (IS_PRIMARY_CORE(MpId)) {
|
if (IS_PRIMARY_CORE(MpId)) {
|
||||||
// Signal the secondary cores they can jump to PEI phase
|
// Signal the secondary cores they can jump to PEI phase
|
||||||
ArmGicSendSgiTo (PcdGet32(PcdGicDistributorBase), ARM_GIC_ICDSGIR_FILTER_EVERYONEELSE, 0x0E, PcdGet32 (PcdGicSgiIntId));
|
ArmGicSendSgiTo (PcdGet32(PcdGicDistributorBase), ARM_GIC_ICDSGIR_FILTER_EVERYONEELSE, 0x0E, PcdGet32 (PcdGicSgiIntId));
|
||||||
|
|
Loading…
Reference in New Issue