From f156d5b49d3f1c3dd1a9dc3c9b6d94b02c056ad1 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Thu, 22 Sep 2011 23:04:06 +0000 Subject: [PATCH] ArmPlatformPkg/ArmPlatformLib: Removed 'ArmPlatformIsMemoryInitialized' function 'ArmPlatformInitializeBootMemory' function can check if the memory has already been initialized. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12414 6f19259b-4bc3-4df7-8a09-765794883524 --- .../ArmRealViewEbHelper.S | 47 ------------------ .../ArmRealViewEbHelper.asm | 48 ------------------- .../ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf | 2 - .../ArmRealViewEbSecLib.inf | 2 - .../ArmVExpressLibCTA9x4/ArmVExpressLib.inf | 2 - .../ArmVExpressSecLib.inf | 2 - .../ArmVExpressLibCTA9x4/CTA9x4Helper.S | 46 ------------------ .../ArmVExpressLibCTA9x4/CTA9x4Helper.asm | 48 ------------------- .../Include/Library/ArmPlatformLib.h | 13 ----- ArmPlatformPkg/Sec/SecEntryPoint.S | 6 +-- ArmPlatformPkg/Sec/SecEntryPoint.asm | 6 +-- 11 files changed, 2 insertions(+), 220 deletions(-) delete mode 100644 ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S delete mode 100644 ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm delete mode 100644 ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S delete mode 100644 ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S deleted file mode 100644 index e48770ea43..0000000000 --- a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S +++ /dev/null @@ -1,47 +0,0 @@ -// -// Copyright (c) 2011, ARM Limited. All rights reserved. -// -// This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// - -#include -#include -#include -#include -#include -#include - -.text -.align 3 - -GCC_ASM_EXPORT(ArmPlatformIsMemoryInitialized) - -/** - Called at the early stage of the Boot phase to know if the memory has already been initialized - - Running the code from the reset vector does not mean we start from cold boot. In some case, we - can go through this code with the memory already initialized. - Because this function is called at the early stage, the implementation must not use the stack. - Its implementation must probably done in assembly to ensure this requirement. - - @return Return the condition value into the 'Z' flag - -**/ -ASM_PFX(ArmPlatformIsMemoryInitialized): - // Check if the memory has been already mapped, if so skipped the memory initialization - LoadConstantToReg (ARM_EB_SYSCTRL, r0) - ldr r0, [r0, #0] - - // 0x200 (BIT9): This read-only bit returns the remap status. - and r0, r0, #0x200 - tst r0, #0x200 - bx lr - -ASM_FUNCTION_REMOVE_IF_UNREFERENCED \ No newline at end of file diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm deleted file mode 100644 index b72fc6f37e..0000000000 --- a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm +++ /dev/null @@ -1,48 +0,0 @@ -// -// Copyright (c) 2011, ARM Limited. All rights reserved. -// -// This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// - -#include -#include -#include -#include -#include -#include - - INCLUDE AsmMacroIoLib.inc - - EXPORT ArmPlatformIsMemoryInitialized - - PRESERVE8 - AREA ArmRealViewEbHelper, CODE, READONLY - -/** - Called at the early stage of the Boot phase to know if the memory has already been initialized - - Running the code from the reset vector does not mean we start from cold boot. In some case, we - can go through this code with the memory already initialized. - Because this function is called at the early stage, the implementation must not use the stack. - Its implementation must probably done in assembly to ensure this requirement. - - @return Return the condition value into the 'Z' flag - -**/ -ArmPlatformIsMemoryInitialized - // Check if the memory has been already mapped, if so skipped the memory initialization - LoadConstantToReg (ARM_EB_SYSCTRL, r0) - ldr r0, [r0, #0] - - // 0x200 (BIT9): This read-only bit returns the remap status. - and r0, r0, #0x200 - tst r0, #0x200 - bx lr - END diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf index 3682f6b7c2..a73ba2c8ae 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf +++ b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf @@ -34,8 +34,6 @@ [Sources.common] ArmRealViewEb.c ArmRealViewEbMem.c - ArmRealViewEbHelper.asm | RVCT - ArmRealViewEbHelper.S | GCC [FeaturePcd] gEmbeddedTokenSpaceGuid.PcdCacheEnable diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf index 17df8100a4..d59fbfdfe8 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf +++ b/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbSecLib.inf @@ -33,8 +33,6 @@ [Sources.common] ArmRealViewEb.c ArmRealViewEbSec.c - ArmRealViewEbHelper.asm | RVCT - ArmRealViewEbHelper.S | GCC ArmRealViewEbBoot.asm | RVCT ArmRealViewEbBoot.S | GCC diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf index d3867ae931..239a25bd48 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf @@ -39,8 +39,6 @@ [Sources.common] CTA9x4.c CTA9x4Mem.c - CTA9x4Helper.asm | RVCT - CTA9x4Helper.S | GCC [FeaturePcd] gEmbeddedTokenSpaceGuid.PcdCacheEnable diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressSecLib.inf b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressSecLib.inf index 8674f7923b..6d6dd38999 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressSecLib.inf +++ b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressSecLib.inf @@ -41,8 +41,6 @@ [Sources.common] CTA9x4Sec.c CTA9x4.c - CTA9x4Helper.asm | RVCT - CTA9x4Helper.S | GCC CTA9x4Boot.asm | RVCT CTA9x4Boot.S | GCC diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S deleted file mode 100644 index b66b051907..0000000000 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S +++ /dev/null @@ -1,46 +0,0 @@ -// -// Copyright (c) 2011, ARM Limited. All rights reserved. -// -// This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// - -#include -#include -#include -#include -#include -#include - -.text -.align 3 - -GCC_ASM_EXPORT(ArmPlatformIsMemoryInitialized) - -/** - Called at the early stage of the Boot phase to know if the memory has already been initialized - - Running the code from the reset vector does not mean we start from cold boot. In some case, we - can go through this code with the memory already initialized. - Because this function is called at the early stage, the implementation must not use the stack. - Its implementation must probably done in assembly to ensure this requirement. - - @return Return the condition value into the 'Z' flag - -**/ -ASM_PFX(ArmPlatformIsMemoryInitialized): - // Check if the memory has been already mapped, if so skipped the memory initialization - LoadConstantToReg (ARM_VE_SYS_CFGRW1_REG ,r0) - ldr r0, [r0, #0] - - // 0x40000000 = Value of Physical Configuration Switch SW[0] - and r0, r0, #0x40000000 - tst r0, #0x40000000 - bx lr - diff --git a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm b/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm deleted file mode 100644 index 4404cd25fc..0000000000 --- a/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm +++ /dev/null @@ -1,48 +0,0 @@ -// -// Copyright (c) 2011, ARM Limited. All rights reserved. -// -// This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// - -#include -#include -#include -#include -#include -#include - - INCLUDE AsmMacroIoLib.inc - - EXPORT ArmPlatformIsMemoryInitialized - - PRESERVE8 - AREA CTA9x4Helper, CODE, READONLY - -/** - Called at the early stage of the Boot phase to know if the memory has already been initialized - - Running the code from the reset vector does not mean we start from cold boot. In some case, we - can go through this code with the memory already initialized. - Because this function is called at the early stage, the implementation must not use the stack. - Its implementation must probably done in assembly to ensure this requirement. - - @return Return the condition value into the 'Z' flag - -**/ -ArmPlatformIsMemoryInitialized - // Check if the memory has been already mapped, if so skipped the memory initialization - LoadConstantToReg (ARM_VE_SYS_CFGRW1_REG ,r0) - ldr r0, [r0, #0] - - // 0x40000000 = Value of Physical Configuration Switch SW[0] - and r0, r0, #0x40000000 - tst r0, #0x40000000 - bx lr - diff --git a/ArmPlatformPkg/Include/Library/ArmPlatformLib.h b/ArmPlatformPkg/Include/Library/ArmPlatformLib.h index b2667416e1..c14af9abfa 100644 --- a/ArmPlatformPkg/Include/Library/ArmPlatformLib.h +++ b/ArmPlatformPkg/Include/Library/ArmPlatformLib.h @@ -41,19 +41,6 @@ typedef struct { UINT64 NumberOfBytes; } ARM_SYSTEM_MEMORY_REGION_DESCRIPTOR; -/** - Called at the early stage of the Boot phase to know if the memory has already been initialized - - Running the code from the reset vector does not mean we start from cold boot. In some case, we - can go through this code with the memory already initialized. - Because this function is called at the early stage, the implementation must not use the stack. - Its implementation must probably done in assembly to ensure this requirement. - - @return Return the condition value into the 'Z' flag - -**/ -VOID ArmPlatformIsMemoryInitialized(VOID); - /** Initialize the memory where the initial stacks will reside diff --git a/ArmPlatformPkg/Sec/SecEntryPoint.S b/ArmPlatformPkg/Sec/SecEntryPoint.S index f8599393cb..5d83bf1ee7 100644 --- a/ArmPlatformPkg/Sec/SecEntryPoint.S +++ b/ArmPlatformPkg/Sec/SecEntryPoint.S @@ -31,7 +31,6 @@ GCC_ASM_EXPORT(_ModuleEntryPoint) #global functions referenced by this module GCC_ASM_IMPORT(CEntryPoint) GCC_ASM_IMPORT(ArmPlatformSecBootAction) -GCC_ASM_IMPORT(ArmPlatformIsMemoryInitialized) GCC_ASM_IMPORT(ArmPlatformInitializeBootMemory) GCC_ASM_IMPORT(ArmDisableInterrupts) GCC_ASM_IMPORT(ArmDisableCachesAndMmu) @@ -83,10 +82,7 @@ _WaitForEnabledScu: #endif _InitMem: - bl ASM_PFX(ArmPlatformIsMemoryInitialized) - bne _SetupStack - - # Initialize Init Memory + // Initialize Init Boot Memory bl ASM_PFX(ArmPlatformInitializeBootMemory) # Only Primary CPU could run this line (the secondary cores have jumped from _IdentifyCpu to _SetupStack) diff --git a/ArmPlatformPkg/Sec/SecEntryPoint.asm b/ArmPlatformPkg/Sec/SecEntryPoint.asm index 472abde7f2..e85d6ce609 100644 --- a/ArmPlatformPkg/Sec/SecEntryPoint.asm +++ b/ArmPlatformPkg/Sec/SecEntryPoint.asm @@ -21,7 +21,6 @@ IMPORT CEntryPoint IMPORT ArmPlatformSecBootAction - IMPORT ArmPlatformIsMemoryInitialized IMPORT ArmPlatformInitializeBootMemory IMPORT ArmDisableInterrupts IMPORT ArmDisableCachesAndMmu @@ -76,10 +75,7 @@ _WaitForEnabledScu #endif _InitMem - bl ArmPlatformIsMemoryInitialized - bne _SetupStack - - // Initialize Init Memory + // Initialize Init Boot Memory bl ArmPlatformInitializeBootMemory // Only Primary CPU could run this line (the secondary cores have jumped from _IdentifyCpu to _SetupStack)