mirror of https://github.com/acidanthera/audk.git
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
This commit is contained in:
parent
44e272fd6a
commit
f156d5b49d
|
@ -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 <AsmMacroIoLib.h>
|
||||
#include <Base.h>
|
||||
#include <Library/PcdLib.h>
|
||||
#include <Library/ArmPlatformLib.h>
|
||||
#include <ArmPlatform.h>
|
||||
#include <AutoGen.h>
|
||||
|
||||
.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
|
|
@ -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 <AsmMacroIoLib.h>
|
||||
#include <Base.h>
|
||||
#include <Library/PcdLib.h>
|
||||
#include <Library/ArmPlatformLib.h>
|
||||
#include <ArmPlatform.h>
|
||||
#include <AutoGen.h>
|
||||
|
||||
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
|
|
@ -34,8 +34,6 @@
|
|||
[Sources.common]
|
||||
ArmRealViewEb.c
|
||||
ArmRealViewEbMem.c
|
||||
ArmRealViewEbHelper.asm | RVCT
|
||||
ArmRealViewEbHelper.S | GCC
|
||||
|
||||
[FeaturePcd]
|
||||
gEmbeddedTokenSpaceGuid.PcdCacheEnable
|
||||
|
|
|
@ -33,8 +33,6 @@
|
|||
[Sources.common]
|
||||
ArmRealViewEb.c
|
||||
ArmRealViewEbSec.c
|
||||
ArmRealViewEbHelper.asm | RVCT
|
||||
ArmRealViewEbHelper.S | GCC
|
||||
ArmRealViewEbBoot.asm | RVCT
|
||||
ArmRealViewEbBoot.S | GCC
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
[Sources.common]
|
||||
CTA9x4.c
|
||||
CTA9x4Mem.c
|
||||
CTA9x4Helper.asm | RVCT
|
||||
CTA9x4Helper.S | GCC
|
||||
|
||||
[FeaturePcd]
|
||||
gEmbeddedTokenSpaceGuid.PcdCacheEnable
|
||||
|
|
|
@ -41,8 +41,6 @@
|
|||
[Sources.common]
|
||||
CTA9x4Sec.c
|
||||
CTA9x4.c
|
||||
CTA9x4Helper.asm | RVCT
|
||||
CTA9x4Helper.S | GCC
|
||||
CTA9x4Boot.asm | RVCT
|
||||
CTA9x4Boot.S | GCC
|
||||
|
||||
|
|
|
@ -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 <AsmMacroIoLib.h>
|
||||
#include <Base.h>
|
||||
#include <Library/PcdLib.h>
|
||||
#include <Library/ArmPlatformLib.h>
|
||||
#include <ArmPlatform.h>
|
||||
#include <AutoGen.h>
|
||||
|
||||
.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
|
||||
|
|
@ -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 <AsmMacroIoLib.h>
|
||||
#include <Base.h>
|
||||
#include <Library/PcdLib.h>
|
||||
#include <Library/ArmPlatformLib.h>
|
||||
#include <ArmPlatform.h>
|
||||
#include <AutoGen.h>
|
||||
|
||||
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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue