1# 2# Copyright (c) 2011-2013, ARM Limited. All rights reserved. 3# Copyright (c) 2014-2016, Linaro Limited. All rights reserved. 4# 5# This program and the accompanying materials 6# are licensed and made available under the terms and conditions of the BSD License 7# which accompanies this distribution. The full text of the license may be found at 8# http://opensource.org/licenses/bsd-license.php 9# 10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12# 13# 14 15#include <AsmMacroIoLib.h> 16#include <Library/ArmLib.h> 17 18ASM_FUNC(ArmPlatformPeiBootAction) 19 bx lr 20 21//UINTN 22//ArmPlatformGetPrimaryCoreMpId ( 23// VOID 24// ); 25ASM_FUNC(ArmPlatformGetPrimaryCoreMpId) 26 MOV32 (r0, FixedPcdGet32 (PcdArmPrimaryCore)) 27 bx lr 28 29//UINTN 30//ArmPlatformIsPrimaryCore ( 31// IN UINTN MpId 32// ); 33ASM_FUNC(ArmPlatformIsPrimaryCore) 34 mov r0, #1 35 bx lr 36 37//UINTN 38//ArmPlatformGetCorePosition ( 39// IN UINTN MpId 40// ); 41// With this function: CorePos = (ClusterId * 4) + CoreId 42ASM_FUNC(ArmPlatformGetCorePosition) 43 and r1, r0, #ARM_CORE_MASK 44 and r0, r0, #ARM_CLUSTER_MASK 45 add r0, r1, r0, LSR #6 46 bx lr 47 48//EFI_PHYSICAL_ADDRESS 49//GetPhysAddrTop ( 50// VOID 51// ); 52ASM_FUNC(ArmGetPhysAddrTop) 53 mov r0, #0x00000000 54 mov r1, #0x10000 55 bx lr 56 57ASM_FUNCTION_REMOVE_IF_UNREFERENCED 58