]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Include/AsmMacroIoLib.inc
ARM Packages: Removed trailing spaces
[mirror_edk2.git] / ArmPkg / Include / AsmMacroIoLib.inc
index a847579a37b5dd0681ae8aba4f72f59109b83b86..87e497b31ad9cd32e8db2e78d6f14177fbc23e0c 100644 (file)
@@ -5,88 +5,81 @@
 ;  Copyright (c) 2009, Apple Inc. All rights reserved.<BR>\r
 ;  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>\r
 ;\r
-;  This program and the accompanying materials                          \r
-;  are licensed and made available under the terms and conditions of the BSD License         \r
-;  which accompanies this distribution.  The full text of the license may be found at        \r
-;  http://opensource.org/licenses/bsd-license.php                                            \r
-;                                                                                            \r
-;  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-;  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  \r
+;  This program and the accompanying materials\r
+;  are licensed and made available under the terms and conditions of the BSD License\r
+;  which accompanies this distribution.  The full text of the license may be found at\r
+;  http://opensource.org/licenses/bsd-license.php\r
+;\r
+;  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+;  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 ;\r
 ;**/\r
 \r
 \r
-  MACRO \r
-  MmioWrite32Macro $Address, $Data \r
-  ldr  r1, = ($Address)                \r
-  ldr  r0, = ($Data)                 \r
-  str  r0, [r1]  \r
+  MACRO\r
+  MmioWrite32Macro $Address, $Data\r
+  ldr  r1, = ($Address)\r
+  ldr  r0, = ($Data)\r
+  str  r0, [r1]\r
   MEND\r
-    \r
-  MACRO \r
-  MmioOr32Macro $Address, $OrData \r
-  ldr  r1, =($Address)               \r
-  ldr  r2, =($OrData)                \r
-  ldr  r0, [r1]                      \r
-  orr  r0, r0, r2                    \r
-  str  r0, [r1] \r
+\r
+  MACRO\r
+  MmioOr32Macro $Address, $OrData\r
+  ldr  r1, =($Address)\r
+  ldr  r2, =($OrData)\r
+  ldr  r0, [r1]\r
+  orr  r0, r0, r2\r
+  str  r0, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  MmioAnd32Macro $Address, $AndData \r
-  ldr  r1, =($Address)                 \r
-  ldr  r2, =($AndData)                 \r
-  ldr  r0, [r1]                        \r
-  and  r0, r0, r2                      \r
-  str  r0, [r1] \r
+  MACRO\r
+  MmioAnd32Macro $Address, $AndData\r
+  ldr  r1, =($Address)\r
+  ldr  r2, =($AndData)\r
+  ldr  r0, [r1]\r
+  and  r0, r0, r2\r
+  str  r0, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  MmioAndThenOr32Macro $Address, $AndData, $OrData \r
-  ldr  r1, =($Address)                         \r
-  ldr  r0, [r1]                                        \r
-  ldr  r2, =($AndData)                                 \r
-  and  r0, r0, r2                                      \r
-  ldr  r2, =($OrData)                                  \r
-  orr  r0, r0, r2                                      \r
-  str  r0, [r1]          \r
+  MACRO\r
+  MmioAndThenOr32Macro $Address, $AndData, $OrData\r
+  ldr  r1, =($Address)\r
+  ldr  r0, [r1]\r
+  ldr  r2, =($AndData)\r
+  and  r0, r0, r2\r
+  ldr  r2, =($OrData)\r
+  orr  r0, r0, r2\r
+  str  r0, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  MmioWriteFromReg32Macro $Address, $Reg \r
-  ldr  r1, =($Address)   \r
-  str  $Reg, [r1]        \r
+  MACRO\r
+  MmioWriteFromReg32Macro $Address, $Reg\r
+  ldr  r1, =($Address)\r
+  str  $Reg, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  MmioRead32Macro $Address   \r
-  ldr  r1, =($Address)         \r
-  ldr  r0, [r1]   \r
+  MACRO\r
+  MmioRead32Macro $Address\r
+  ldr  r1, =($Address)\r
+  ldr  r0, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  MmioReadToReg32Macro $Address, $Reg \r
-  ldr  r1, =($Address)                   \r
-  ldr  $Reg, [r1]        \r
+  MACRO\r
+  MmioReadToReg32Macro $Address, $Reg\r
+  ldr  r1, =($Address)\r
+  ldr  $Reg, [r1]\r
   MEND\r
 \r
-  MACRO \r
-  LoadConstantMacro $Data \r
-  ldr  r0, =($Data) \r
+  MACRO\r
+  LoadConstantMacro $Data\r
+  ldr  r0, =($Data)\r
   MEND\r
 \r
-  MACRO \r
-  LoadConstantToRegMacro $Data, $Reg \r
-  ldr  $Reg, =($Data) \r
-  MEND \r
-  \r
   MACRO\r
-  GetCorePositionInStack $Pos, $MpId, $Tmp\r
-  lsr   $Pos, $MpId, #6\r
-  and   $Tmp, $MpId, #3\r
-  add   $Pos, $Pos, $Tmp\r
+  LoadConstantToRegMacro $Data, $Reg\r
+  ldr  $Reg, =($Data)\r
   MEND\r
-  \r
+\r
   ; The reserved place must be 8-bytes aligned for pushing 64-bit variable on the stack\r
   ; Note: Global Size will be modified\r
   MACRO\r
@@ -104,8 +97,25 @@ _SetPrimaryStackInitGlobals
   beq     _SetPrimaryStackEnd\r
   str     $GlobalSize, [$Tmp], #4\r
   b       _SetPrimaryStackInitGlobals\r
-\r
 _SetPrimaryStackEnd\r
   MEND\r
 \r
+  MACRO\r
+  InitializePrimaryStack $GlobalSize, $Tmp1\r
+  and     $Tmp1, $GlobalSize, #7\r
+  rsbne   $Tmp1, $Tmp1, #8\r
+  add     $GlobalSize, $GlobalSize, $Tmp1\r
+\r
+  mov     $Tmp1, sp\r
+  sub     sp, $GlobalSize\r
+  ; Set all the global variables to 0\r
+  mov     $GlobalSize, #0x0\r
+_InitializePrimaryStackLoop\r
+  cmp     $Tmp1, sp\r
+  bls     _InitializePrimaryStackEnd\r
+  str     $GlobalSize, [$Tmp1], #-4\r
+  b       _InitializePrimaryStackLoop\r
+_InitializePrimaryStackEnd\r
+  MEND\r
+\r
   END\r