]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
ARM Packages: Removed trailing spaces
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / Library / ArmVExpressLibCTA9x4 / CTA9x4Helper.asm
index 4404cd25fcfa2ad70067e26e31eb879f085e3a01..86e1873e2363edd25da11ce91576dff0582bb9f5 100644 (file)
@@ -1,5 +1,5 @@
 //\r
-//  Copyright (c) 2011, ARM Limited. All rights reserved.\r
+//  Copyright (c) 2013, ARM Limited. All rights reserved.\r
 //\r
 //  This program and the accompanying materials\r
 //  are licensed and made available under the terms and conditions of the BSD License\r
 //\r
 \r
 #include <AsmMacroIoLib.h>\r
-#include <Base.h>\r
-#include <Library/PcdLib.h>\r
-#include <Library/ArmPlatformLib.h>\r
-#include <ArmPlatform.h>\r
+#include <Library/ArmLib.h>\r
+\r
 #include <AutoGen.h>\r
 \r
   INCLUDE AsmMacroIoLib.inc\r
 \r
-  EXPORT  ArmPlatformIsMemoryInitialized\r
+  EXPORT  ArmPlatformPeiBootAction\r
+  EXPORT  ArmPlatformIsPrimaryCore\r
+  EXPORT  ArmPlatformGetPrimaryCoreMpId\r
+  EXPORT  ArmPlatformGetCorePosition\r
+\r
+  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
+  IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
+\r
+  AREA CTA9x4Helper, CODE, READONLY\r
 \r
-  PRESERVE8\r
-  AREA    CTA9x4Helper, CODE, READONLY\r
+//UINTN\r
+//ArmPlatformGetPrimaryCoreMpId (\r
+//  VOID\r
+//  );\r
+ArmPlatformGetPrimaryCoreMpId FUNCTION\r
+  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
+  ldr     r0, [r0]\r
+  bx     lr\r
+  ENDFUNC\r
 \r
-/**\r
-  Called at the early stage of the Boot phase to know if the memory has already been initialized\r
+//UINTN\r
+//ArmPlatformIsPrimaryCore (\r
+//  IN UINTN MpId\r
+//  );\r
+ArmPlatformIsPrimaryCore FUNCTION\r
+  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
+  ldr   r1, [r1]\r
+  and   r0, r0, r1\r
+  LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
+  ldr   r1, [r1]\r
+  cmp   r0, r1\r
+  moveq r0, #1\r
+  movne r0, #0\r
+  bx    lr\r
+  ENDFUNC\r
 \r
-  Running the code from the reset vector does not mean we start from cold boot. In some case, we\r
-  can go through this code with the memory already initialized.\r
-  Because this function is called at the early stage, the implementation must not use the stack.\r
-  Its implementation must probably done in assembly to ensure this requirement.\r
+//UINTN\r
+//ArmPlatformGetCorePosition (\r
+//  IN UINTN MpId\r
+//  );\r
+ArmPlatformGetCorePosition FUNCTION\r
+  and   r0, r0, #ARM_CORE_MASK\r
+  bx    lr\r
+  ENDFUNC\r
 \r
-  @return   Return the condition value into the 'Z' flag\r
+ArmPlatformPeiBootAction FUNCTION\r
+  bx    lr\r
+  ENDFUNC\r
 \r
-**/\r
-ArmPlatformIsMemoryInitialized\r
-  // Check if the memory has been already mapped, if so skipped the memory initialization\r
-  LoadConstantToReg (ARM_VE_SYS_CFGRW1_REG ,r0)\r
-  ldr   r0, [r0, #0]\r
-  \r
-  // 0x40000000 = Value of Physical Configuration Switch SW[0]\r
-  and   r0, r0, #0x40000000\r
-  tst   r0, #0x40000000\r
-  bx   lr\r
-    \r
+  END\r