ArmPlatformHelper.S 909 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // Copyright (c) 2012-2013, ARM Limited. All rights reserved.
  3. //
  4. // SPDX-License-Identifier: BSD-2-Clause-Patent
  5. //
  6. //
  7. #include <AsmMacroIoLib.h>
  8. #include <Library/ArmLib.h>
  9. ASM_FUNC(ArmPlatformPeiBootAction)
  10. bx lr
  11. //UINTN
  12. //ArmPlatformGetCorePosition (
  13. // IN UINTN MpId
  14. // );
  15. ASM_FUNC(ArmPlatformGetCorePosition)
  16. and r1, r0, #ARM_CORE_MASK
  17. and r0, r0, #ARM_CLUSTER_MASK
  18. add r0, r1, r0, LSR #7
  19. bx lr
  20. //UINTN
  21. //ArmPlatformGetPrimaryCoreMpId (
  22. // VOID
  23. // );
  24. ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)
  25. MOV32 (r0, FixedPcdGet32 (PcdArmPrimaryCore))
  26. bx lr
  27. //UINTN
  28. //ArmPlatformIsPrimaryCore (
  29. // IN UINTN MpId
  30. // );
  31. ASM_FUNC(ArmPlatformIsPrimaryCore)
  32. MOV32 (r1, FixedPcdGet32 (PcdArmPrimaryCoreMask))
  33. and r0, r0, r1
  34. MOV32 (r1, FixedPcdGet32 (PcdArmPrimaryCore))
  35. cmp r0, r1
  36. moveq r0, #1
  37. movne r0, #0
  38. bx lr