smccc.S 578 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. */
  9. /**
  10. * SMCCC v0.2
  11. * ARM DEN0028E chapter 2.6
  12. */
  13. .macro SMCCC instr
  14. stp x29, x30, [sp, #-16]!
  15. mov x29, sp
  16. \instr #0
  17. // store in arm_smccc_res
  18. ldr x4, [sp, #16]
  19. stp x0, x1, [x4, #0]
  20. stp x2, x3, [x4, #16]
  21. 1:
  22. ldp x29, x30, [sp], #16
  23. ret
  24. .endm
  25. .global arm_smccc_smc
  26. arm_smccc_smc:
  27. SMCCC smc
  28. .global arm_smccc_hvc
  29. arm_smccc_hvc:
  30. SMCCC hvc