ArmPlatform/ArmPlatformLib: Introduced ArmPlatformPeiBootAction()
This function allows platform to do any specific actions prior to the start the PEI phase. For instance, this function could be used by some platforms to initialize clocks that are required at the early stage of the PEI phase. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Acked-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14347 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -17,11 +17,15 @@
|
||||
#include <ArmPlatform.h>
|
||||
|
||||
.text
|
||||
.align 3
|
||||
.align 2
|
||||
|
||||
GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
|
||||
GCC_ASM_EXPORT(ArmPlatformGetCorePosition)
|
||||
GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
|
||||
|
||||
ASM_PFX(ArmPlatformPeiBootAction):
|
||||
bx lr
|
||||
|
||||
//UINTN
|
||||
//ArmPlatformGetCorePosition (
|
||||
// IN UINTN MpId
|
||||
|
@@ -18,12 +18,17 @@
|
||||
|
||||
INCLUDE AsmMacroIoLib.inc
|
||||
|
||||
EXPORT ArmPlatformPeiBootAction
|
||||
EXPORT ArmPlatformGetCorePosition
|
||||
EXPORT ArmPlatformIsPrimaryCore
|
||||
|
||||
PRESERVE8
|
||||
AREA CTA15A7Helper, CODE, READONLY
|
||||
|
||||
ArmPlatformPeiBootAction FUNCTION
|
||||
bx lr
|
||||
ENDFUNC
|
||||
|
||||
//UINTN
|
||||
//ArmPlatformGetCorePosition (
|
||||
// IN UINTN MpId
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#/* @file
|
||||
# Copyright (c) 2011-2012, ARM Limited. All rights reserved.
|
||||
# Copyright (c) 2011-2013, 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
|
||||
@@ -37,6 +37,8 @@
|
||||
SerialPortLib
|
||||
|
||||
[Sources.common]
|
||||
CTA9x4Helper.asm | RVCT
|
||||
CTA9x4Helper.S | GCC
|
||||
CTA9x4.c
|
||||
CTA9x4Mem.c
|
||||
CTA9x4Helper.S | GCC
|
||||
|
@@ -17,8 +17,8 @@
|
||||
.text
|
||||
.align 2
|
||||
|
||||
GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
|
||||
GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
|
||||
GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)
|
||||
GCC_ASM_EXPORT(ArmPlatformGetCorePosition)
|
||||
|
||||
GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)
|
||||
@@ -56,4 +56,7 @@ ASM_PFX(ArmPlatformGetCorePosition):
|
||||
and r0, r0, #ARM_CORE_MASK
|
||||
bx lr
|
||||
|
||||
ASM_PFX(ArmPlatformPeiBootAction):
|
||||
bx lr
|
||||
|
||||
ASM_FUNCTION_REMOVE_IF_UNREFERENCED
|
||||
|
@@ -18,6 +18,7 @@
|
||||
|
||||
INCLUDE AsmMacroIoLib.inc
|
||||
|
||||
EXPORT ArmPlatformPeiBootAction
|
||||
EXPORT ArmPlatformIsPrimaryCore
|
||||
EXPORT ArmPlatformGetPrimaryCoreMpId
|
||||
EXPORT ArmPlatformGetCorePosition
|
||||
@@ -62,4 +63,8 @@ ArmPlatformGetCorePosition FUNCTION
|
||||
bx lr
|
||||
ENDFUNC
|
||||
|
||||
ArmPlatformPeiBootAction FUNCTION
|
||||
bx lr
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
|
@@ -16,12 +16,14 @@
|
||||
#include <Library/ArmLib.h>
|
||||
#include <Library/PcdLib.h>
|
||||
#include <AutoGen.h>
|
||||
#include "AsmMacroIoLib.inc"
|
||||
|
||||
#include <Chipset/ArmCortexA9.h>
|
||||
|
||||
.text
|
||||
.align 2
|
||||
|
||||
GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
|
||||
GCC_ASM_EXPORT(ArmGetCpuCountPerCluster)
|
||||
GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
|
||||
GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)
|
||||
@@ -30,6 +32,9 @@ GCC_ASM_EXPORT(ArmPlatformGetCorePosition)
|
||||
GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)
|
||||
GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)
|
||||
|
||||
ASM_PFX(ArmPlatformPeiBootAction):
|
||||
bx lr
|
||||
|
||||
# IN None
|
||||
# OUT r0 = SCU Base Address
|
||||
ASM_PFX(ArmGetScuBaseAddress):
|
||||
@@ -37,7 +42,7 @@ ASM_PFX(ArmGetScuBaseAddress):
|
||||
# the Configuration BAR as a stack is not necessary setup. The SCU is at the
|
||||
# offset 0x0000 from the Private Memory Region.
|
||||
mrc p15, 4, r0, c15, c0, 0
|
||||
bx lr
|
||||
bx lr
|
||||
|
||||
//UINTN
|
||||
//ArmPlatformGetPrimaryCoreMpId (
|
||||
|
@@ -22,6 +22,7 @@
|
||||
|
||||
INCLUDE AsmMacroIoLib.inc
|
||||
|
||||
EXPORT ArmPlatformPeiBootAction
|
||||
EXPORT ArmGetCpuCountPerCluster
|
||||
EXPORT ArmPlatformIsPrimaryCore
|
||||
EXPORT ArmPlatformGetPrimaryCoreMpId
|
||||
@@ -32,6 +33,10 @@
|
||||
|
||||
AREA RTSMHelper, CODE, READONLY
|
||||
|
||||
ArmPlatformPeiBootAction FUNCTION
|
||||
bx lr
|
||||
ENDFUNC
|
||||
|
||||
// IN None
|
||||
// OUT r0 = SCU Base Address
|
||||
ArmGetScuBaseAddress FUNCTION
|
||||
|
Reference in New Issue
Block a user