HiKeyHelper.S 925 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #
  2. # Copyright (c) 2014-2017, Linaro Limited. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-2-Clause-Patent
  5. #
  6. #
  7. #include <AsmMacroIoLibV8.h>
  8. #include <Library/ArmLib.h>
  9. ASM_FUNC(ArmPlatformPeiBootAction)
  10. ret
  11. //UINTN
  12. //ArmPlatformGetCorePosition (
  13. // IN UINTN MpId
  14. // );
  15. // With this function: CorePos = (ClusterId * 4) + CoreId
  16. ASM_FUNC(ArmPlatformGetCorePosition)
  17. and x1, x0, #ARM_CORE_MASK
  18. and x0, x0, #ARM_CLUSTER_MASK
  19. add x0, x1, x0, LSR #6
  20. ret
  21. //UINTN
  22. //ArmPlatformGetPrimaryCoreMpId (
  23. // VOID
  24. // );
  25. ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)
  26. MOV32 (w0, FixedPcdGet32(PcdArmPrimaryCore))
  27. ret
  28. //UINTN
  29. //ArmPlatformIsPrimaryCore (
  30. // IN UINTN MpId
  31. // );
  32. ASM_FUNC(ArmPlatformIsPrimaryCore)
  33. MOV32 (w1, FixedPcdGet32(PcdArmPrimaryCoreMask))
  34. and x0, x0, x1
  35. MOV32 (w1, FixedPcdGet32(PcdArmPrimaryCore))
  36. cmp w0, w1
  37. cset x0, eq
  38. ret