12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #
- # Copyright (c) 2018, Linaro Limited. All rights reserved.
- #
- # SPDX-License-Identifier: BSD-2-Clause-Patent
- #
- #
- #include <AsmMacroIoLibV8.h>
- #include <Library/ArmLib.h>
- .text
- .align 3
- ASM_FUNC(ArmPlatformPeiBootAction)
- ret
- //UINTN
- //ArmPlatformIsPrimaryCore (
- // IN UINTN MpId
- // );
- ASM_FUNC(ArmPlatformIsPrimaryCore)
- MOV32 (w1, FixedPcdGet32(PcdArmPrimaryCoreMask))
- and x0, x0, x1
- MOV32 (w1, FixedPcdGet32(PcdArmPrimaryCore))
- cmp w0, w1
- cset x0, eq
- ret
- //UINTN
- //ArmPlatformGetPrimaryCoreMpId (
- // VOID
- // );
- ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)
- MOV32 (w0, FixedPcdGet32(PcdArmPrimaryCore))
- ret
- //UINTN
- //ArmPlatformGetCorePosition (
- // IN UINTN MpId
- // );
- // With this function: CorePos = (ClusterId * 4) + CoreId
- ASM_FUNC(ArmPlatformGetCorePosition)
- and x1, x0, #ARM_CORE_MASK
- and x0, x0, #ARM_CLUSTER_MASK
- add x0, x1, x0, LSR #6
- ret
|