From: Harry Liebel Date: Wed, 24 Jul 2013 11:54:02 +0000 (+0000) Subject: ArmPkg/BdsLib: AArch64 MPCore Linux 'spin-table' boot cache fix X-Git-Tag: edk2-stable201903~12405 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=63e25b68cb1bf16b00ebb71cc2d02c65b5fadbeb;p=mirror_edk2.git 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 Reviewed-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14501 6f19259b-4bc3-4df7-8a09-765794883524 --- 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