From e7072e04e4e5d5612ca17a83353bf9f218325557 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Mon, 28 Jan 2013 11:51:15 +0000 Subject: ArmPlatformPkg/ArmPlatformLibNull: Added template for ArmPlatformGetCorePosition() Signed-off-by: Olivier Martin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14105 6f19259b-4bc3-4df7-8a09-765794883524 --- .../ArmPlatformLibNull/Arm/ArmPlatformHelper.S | 30 +++++++++++++++++++ .../ArmPlatformLibNull/Arm/ArmPlatformHelper.asm | 35 ++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S create mode 100644 ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm (limited to 'ArmPlatformPkg/Library/ArmPlatformLibNull/Arm') diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S new file mode 100644 index 0000000000..286327956a --- /dev/null +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.S @@ -0,0 +1,30 @@ +// +// Copyright (c) 2012, 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 +// which accompanies this distribution. The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// + +#include + +.text +.align 3 + +GCC_ASM_EXPORT(ArmPlatformGetCorePosition) + +//UINTN +//ArmPlatformGetCorePosition ( +// IN UINTN MpId +// ); +ASM_PFX(ArmPlatformGetCorePosition): + and r1, r0, #ARM_CORE_MASK + and r0, r0, #ARM_CLUSTER_MASK + add r0, r1, r0, LSR #7 + bx lr + diff --git a/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm new file mode 100644 index 0000000000..25ffbcf9c0 --- /dev/null +++ b/ArmPlatformPkg/Library/ArmPlatformLibNull/Arm/ArmPlatformHelper.asm @@ -0,0 +1,35 @@ +// +// Copyright (c) 2012, 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 +// which accompanies this distribution. The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// + +#include + + INCLUDE AsmMacroIoLib.inc + + EXPORT ArmPlatformGetCorePosition + + PRESERVE8 + AREA ArmPlatformNullHelper, CODE, READONLY + +//UINTN +//ArmPlatformGetCorePosition ( +// IN UINTN MpId +// ); +ArmPlatformGetCorePosition FUNCTION + and r1, r0, #ARM_CORE_MASK + and r0, r0, #ARM_CLUSTER_MASK + add r0, r1, r0, LSR #7 + bx lr + ENDFUNC + + END + -- cgit v1.2.3