]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm
ARM Packages: Replace tabs by spaces for indentation
[mirror_edk2.git] / ArmPlatformPkg / Library / ArmPlatformLibNull / Arm / ArmPlatformHelper.asm
CommitLineData
e7072e04 1//\r
b5a57223 2// Copyright (c) 2012-2013, ARM Limited. All rights reserved.\r
e7072e04 3//\r
4// This program and the accompanying materials\r
5// are licensed and made available under the terms and conditions of the BSD License\r
6// which accompanies this distribution. The full text of the license may be found at\r
7// http://opensource.org/licenses/bsd-license.php\r
8//\r
9// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11//\r
12//\r
13\r
b9ee7061 14#include <AsmMacroIoLib.h>\r
e7072e04 15#include <Library/ArmLib.h>\r
16\r
17 INCLUDE AsmMacroIoLib.inc\r
18\r
b5a57223 19 EXPORT ArmPlatformPeiBootAction\r
e7072e04 20 EXPORT ArmPlatformGetCorePosition\r
d05ca26c 21 EXPORT ArmPlatformGetPrimaryCoreMpId\r
bebda7ce 22 EXPORT ArmPlatformIsPrimaryCore\r
e7072e04 23\r
bebda7ce 24 IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
25 IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
3402aac7 26\r
e7072e04 27 PRESERVE8\r
28 AREA ArmPlatformNullHelper, CODE, READONLY\r
29\r
b5a57223 30ArmPlatformPeiBootAction FUNCTION\r
31 bx lr\r
32 ENDFUNC\r
33\r
e7072e04 34//UINTN\r
35//ArmPlatformGetCorePosition (\r
36// IN UINTN MpId\r
37// );\r
38ArmPlatformGetCorePosition FUNCTION\r
91c38d4e
RC
39 and r1, r0, #ARM_CORE_MASK\r
40 and r0, r0, #ARM_CLUSTER_MASK\r
41 add r0, r1, r0, LSR #7\r
42 bx lr\r
e7072e04 43 ENDFUNC\r
44\r
d05ca26c 45//UINTN\r
46//ArmPlatformGetPrimaryCoreMpId (\r
47// VOID\r
48// );\r
49ArmPlatformGetPrimaryCoreMpId FUNCTION\r
99267097 50 LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
d05ca26c 51 ldr r0, [r0]\r
52 bx lr\r
53 ENDFUNC\r
54\r
bebda7ce 55//UINTN\r
56//ArmPlatformIsPrimaryCore (\r
57// IN UINTN MpId\r
58// );\r
59ArmPlatformIsPrimaryCore FUNCTION\r
60 LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
61 ldr r1, [r1]\r
62 and r0, r0, r1\r
63 LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
64 ldr r1, [r1]\r
65 cmp r0, r1\r
66 moveq r0, #1\r
67 movne r0, #0\r
68 bx lr\r
69 ENDFUNC\r
70\r
e7072e04 71 END\r
72\r