Revision: 14347
          http://edk2.svn.sourceforge.net/edk2/?rev=14347&view=rev
Author:   oliviermartin
Date:     2013-05-10 12:49:10 +0000 (Fri, 10 May 2013)
Log Message:
-----------
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 <[email protected]>
Acked-by: Ryan Harkin <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>

Modified Paths:
--------------
    
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S
    
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm
    
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.S
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.S
    
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm
    trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S
    
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
    trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.S
    trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm
    trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S
    trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
    trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.S
    trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.asm
    trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf

Modified: 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S
       2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.S
       2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//  Copyright (c) 2012-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
@@ -15,8 +15,9 @@
 #include <Library/ArmLib.h>
 
 .text 
-.align 3
+.align 2
 
+GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
 GCC_ASM_EXPORT(ArmPlatformGetCorePosition)
 GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
 
@@ -47,3 +48,6 @@
   moveq r0, #1
   movne r0, #0
   bx    lr
+
+ASM_PFX(ArmPlatformPeiBootAction):
+  bx    lr

Modified: 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm
     2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbHelper.asm
     2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//  Copyright (c) 2012-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
@@ -16,14 +16,14 @@
 
   INCLUDE AsmMacroIoLib.inc
 
+  EXPORT  ArmPlatformPeiBootAction
   EXPORT  ArmPlatformGetCorePosition
   EXPORT  ArmPlatformIsPrimaryCore
 
   IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCore
   IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask
   
-  PRESERVE8
-  AREA    ArmPlatformNullHelper, CODE, READONLY
+  AREA    ArmRealViewEbHelper, CODE, READONLY
 
 //UINTN
 //ArmPlatformGetCorePosition (
@@ -52,5 +52,8 @@
   bx    lr
   ENDFUNC
 
+ArmPlatformPeiBootAction FUNCTION
+  bx    lr
+  ENDFUNC
+
   END
-

Modified: 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
        2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmRealViewEbPkg/Library/ArmRealViewEbLibRTSM/ArmRealViewEbLib.inf
        2013-05-10 12:49:10 UTC (rev 14347)
@@ -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         
@@ -32,6 +32,8 @@
   MemoryAllocationLib
 
 [Sources.common]
+  ArmRealViewEbHelper.asm  | RVCT
+  ArmRealViewEbHelper.S    | GCC
   ArmRealViewEb.c
   ArmRealViewEbMem.c
   ArmRealViewEbHelper.asm | RVCT

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.S
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.S
    2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.S
    2013-05-10 12:49:10 UTC (rev 14347)
@@ -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

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm
  2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7Helper.asm
  2013-05-10 12:49:10 UTC (rev 14347)
@@ -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

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf
    2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf
    2013-05-10 12:49:10 UTC (rev 14347)
@@ -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

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S
        2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.S
        2013-05-10 12:49:10 UTC (rev 14347)
@@ -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 @@
   and   r0, r0, #ARM_CORE_MASK
   bx    lr
 
+ASM_PFX(ArmPlatformPeiBootAction):
+  bx    lr
+
 ASM_FUNCTION_REMOVE_IF_UNREFERENCED

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
      2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
      2013-05-10 12:49:10 UTC (rev 14347)
@@ -18,6 +18,7 @@
 
   INCLUDE AsmMacroIoLib.inc
 
+  EXPORT  ArmPlatformPeiBootAction
   EXPORT  ArmPlatformIsPrimaryCore
   EXPORT  ArmPlatformGetPrimaryCoreMpId
   EXPORT  ArmPlatformGetCorePosition
@@ -62,4 +63,8 @@
   bx    lr
   ENDFUNC
 
+ArmPlatformPeiBootAction FUNCTION
+  bx    lr
+  ENDFUNC
+
   END

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.S
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.S
        2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.S
        2013-05-10 12:49:10 UTC (rev 14347)
@@ -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_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 @@
   # 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 (

Modified: 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm
      2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.asm
      2013-05-10 12:49:10 UTC (rev 14347)
@@ -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

Modified: 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S    
    2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S    
    2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//  Copyright (c) 2012-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
@@ -15,8 +15,9 @@
 #include <Library/ArmLib.h>
 
 .text 
-.align 3
+.align 2
 
+GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
 GCC_ASM_EXPORT(ArmPlatformGetCorePosition)
 GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)
 GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
@@ -24,6 +25,9 @@
 GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)
 GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)
 
+ASM_PFX(ArmPlatformPeiBootAction):
+  bx    lr
+
 //UINTN
 //ArmPlatformGetCorePosition (
 //  IN UINTN MpId

Modified: 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
===================================================================
--- 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm  
    2013-05-10 12:46:11 UTC (rev 14346)
+++ 
trunk/edk2/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm  
    2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//  Copyright (c) 2012-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
@@ -16,6 +16,7 @@
 
   INCLUDE AsmMacroIoLib.inc
 
+  EXPORT  ArmPlatformPeiBootAction
   EXPORT  ArmPlatformGetCorePosition
   EXPORT  ArmPlatformGetPrimaryCoreMpId
   EXPORT  ArmPlatformIsPrimaryCore
@@ -26,6 +27,10 @@
   PRESERVE8
   AREA    ArmPlatformNullHelper, CODE, READONLY
 
+ArmPlatformPeiBootAction FUNCTION
+  bx    lr
+  ENDFUNC
+
 //UINTN
 //ArmPlatformGetCorePosition (
 //  IN UINTN MpId

Modified: trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.S
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.S     
2013-05-10 12:46:11 UTC (rev 14346)
+++ trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.S     
2013-05-10 12:49:10 UTC (rev 14347)
@@ -23,11 +23,15 @@
 GCC_ASM_IMPORT(ArmPlatformGetCorePosition)
 GCC_ASM_IMPORT(ArmPlatformIsPrimaryCore)
 GCC_ASM_IMPORT(ArmReadMpidr)
+GCC_ASM_IMPORT(ArmPlatformPeiBootAction)
 GCC_ASM_EXPORT(_ModuleEntryPoint)
 
 StartupAddr: .word    CEntryPoint
 
 ASM_PFX(_ModuleEntryPoint):
+  // Do early platform specific actions
+  bl    ASM_PFX(ArmPlatformPeiBootAction)
+
   // Identify CPU ID
   bl    ASM_PFX(ArmReadMpidr)
   // Keep a copy of the MpId register value

Modified: trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm   
2013-05-10 12:46:11 UTC (rev 14346)
+++ trunk/edk2/ArmPlatformPkg/PrePeiCore/Arm/PrePeiCoreEntryPoint.asm   
2013-05-10 12:49:10 UTC (rev 14347)
@@ -22,6 +22,7 @@
   IMPORT  ArmPlatformGetCorePosition
   IMPORT  ArmPlatformIsPrimaryCore
   IMPORT  ArmReadMpidr
+  IMPORT  ArmPlatformPeiBootAction
   EXPORT  _ModuleEntryPoint
   
   PRESERVE8
@@ -30,6 +31,9 @@
 StartupAddr        DCD      CEntryPoint
 
 _ModuleEntryPoint
+  // Do early platform specific actions
+  bl    ArmPlatformPeiBootAction
+
   // Identify CPU ID
   bl    ArmReadMpidr
   // Keep a copy of the MpId register value

Modified: trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S      2013-05-10 
12:46:11 UTC (rev 14346)
+++ trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S      2013-05-10 
12:49:10 UTC (rev 14347)
@@ -24,6 +24,7 @@
 GCC_ASM_IMPORT(CEntryPoint)
 GCC_ASM_IMPORT(ArmPlatformIsPrimaryCore)
 GCC_ASM_IMPORT(ArmReadMpidr)
+GCC_ASM_IMPORT(ArmPlatformPeiBootAction)
 GCC_ASM_IMPORT(ArmPlatformStackSet)
 GCC_ASM_EXPORT(_ModuleEntryPoint)
 
@@ -31,6 +32,9 @@
 
 
 ASM_PFX(_ModuleEntryPoint):
+  // Do early platform specific actions
+  bl    ASM_PFX(ArmPlatformPeiBootAction)
+
   // Get ID of this CPU in Multicore system
   bl    ASM_PFX(ArmReadMpidr)
   // Keep a copy of the MpId register value

Modified: trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
===================================================================
--- trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm    2013-05-10 
12:46:11 UTC (rev 14346)
+++ trunk/edk2/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm    2013-05-10 
12:49:10 UTC (rev 14347)
@@ -23,6 +23,7 @@
   IMPORT  CEntryPoint
   IMPORT  ArmPlatformIsPrimaryCore
   IMPORT  ArmReadMpidr
+  IMPORT  ArmPlatformPeiBootAction
   IMPORT  ArmPlatformStackSet
   
   EXPORT  _ModuleEntryPoint
@@ -33,6 +34,9 @@
 StartupAddr        DCD      CEntryPoint
 
 _ModuleEntryPoint
+  // Do early platform specific actions
+  bl    ArmPlatformPeiBootAction
+
   // Get ID of this CPU in Multicore system
   bl    ArmReadMpidr
   // Keep a copy of the MpId register value

Modified: trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.S
===================================================================
--- trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.S        
2013-05-10 12:46:11 UTC (rev 14346)
+++ trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.S        
2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2012, ARM Limited. All rights reserved.
+#  Copyright (c) 2012-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         
@@ -18,6 +18,7 @@
 .align 2
 
 GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
+GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
 
 //UINTN
 //ArmPlatformIsPrimaryCore (
@@ -28,4 +29,7 @@
   mov  r0, #1
   bx   lr
 
+ASM_PFX(ArmPlatformPeiBootAction):
+  bx    lr
+
 ASM_FUNCTION_REMOVE_IF_UNREFERENCED 

Modified: trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.asm
===================================================================
--- trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.asm      
2013-05-10 12:46:11 UTC (rev 14346)
+++ trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardHelper.asm      
2013-05-10 12:49:10 UTC (rev 14347)
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2012, ARM Limited. All rights reserved.
+//  Copyright (c) 2012-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         
@@ -18,6 +18,7 @@
 
   INCLUDE AsmMacroIoLib.inc
 
+  EXPORT    ArmPlatformPeiBootAction
   EXPORT    ArmPlatformIsPrimaryCore
 
   AREA BeagleBoardHelper, CODE, READONLY
@@ -32,5 +33,8 @@
   bx   lr
   ENDFUNC
 
+ArmPlatformPeiBootAction FUNCTION
+  bx    lr
+  ENDFUNC
+
   END
-

Modified: trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf
===================================================================
--- trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf 
2013-05-10 12:46:11 UTC (rev 14346)
+++ trunk/edk2/BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoardLib.inf 
2013-05-10 12:49:10 UTC (rev 14347)
@@ -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         
@@ -31,10 +31,11 @@
 [LibraryClasses]
   IoLib
   ArmLib
-#  OmapLib
   MemoryAllocationLib
 
 [Sources.common]
+  BeagleBoardHelper.asm  | RVCT
+  BeagleBoardHelper.S    | GCC
   BeagleBoard.c
   BeagleBoardMem.c
   PadConfiguration.c
@@ -42,8 +43,6 @@
   BeagleBoardHelper.S    | GCC
   BeagleBoardHelper.asm  | RVCT
 
-[Protocols]
-
 [FeaturePcd]
   gEmbeddedTokenSpaceGuid.PcdCacheEnable
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to