summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarry Liebel <Harry.Liebel@arm.com>2013-07-24 11:54:02 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2013-07-24 11:54:02 +0000
commit63e25b68cb1bf16b00ebb71cc2d02c65b5fadbeb (patch)
treec1092df89cf539457e6234f3e9e353ffbf5b03a6
parent383070d333bf53ce2612b1f7479909fdae25c83f (diff)
downloadedk2-platforms-63e25b68cb1bf16b00ebb71cc2d02c65b5fadbeb.tar.xz
ArmPkg/BdsLib: AArch64 MPCore Linux 'spin-table' boot cache fix
Clean data cache after initialising mailboxes. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14501 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--ArmPkg/Library/BdsLib/AArch64/BdsLinuxLoader.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ArmPkg/Library/BdsLib/AArch64/BdsLinuxLoader.c b/ArmPkg/Library/BdsLib/AArch64/BdsLinuxLoader.c
index b66d96f05c..887058bafe 100644
--- a/ArmPkg/Library/BdsLib/AArch64/BdsLinuxLoader.c
+++ b/ArmPkg/Library/BdsLib/AArch64/BdsLinuxLoader.c
@@ -298,9 +298,6 @@ BdsBootLinuxFdt (
// Update the MailboxBase variable used in the pen code
*(UINTN*)(PenBase + ((UINTN)&AsmMailboxbase - (UINTN)&SecondariesPenStart)) = MailBoxBase;
- // Flush caches to make sure our pen gets to mem before we free the cores.
- ArmCleanDataCache();
-
for (Index=0; Index < gST->NumberOfTableEntries; Index++) {
// Check for correct GUID type
if (CompareGuid (&gArmMpCoreInfoGuid, &(gST->ConfigurationTable[Index].VendorGuid))) {
@@ -323,6 +320,8 @@ BdsBootLinuxFdt (
}
}
}
+ // Flush caches to make sure our pen gets to mem before we free the cores.
+ ArmCleanDataCache();
}
// By setting address=0 we leave the memory allocation to the function