PeiServicesTablePointerLib.S 961 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #------------------------------------------------------------------------------
  2. #
  3. # Timer Cfg for LoongArch
  4. #
  5. # Copyright (c) 2022 Loongson Technology Corporation Limited. All rights reserved.<BR>
  6. #
  7. # SPDX-License-Identifier: BSD-2-Clause-Patent
  8. #
  9. #------------------------------------------------------------------------------
  10. #ifndef __ASSEMBLY__
  11. #define __ASSEMBLY__
  12. #endif
  13. #include "Library/Cpu.h"
  14. ASM_GLOBAL ASM_PFX(LoongarchWriteqKs0)
  15. ASM_GLOBAL ASM_PFX(LoongarchReadqKs0)
  16. #
  17. # Write Csr KS0 register.
  18. # @param A0 The value used to write to the KS0 register
  19. # @retval none
  20. #
  21. ASM_PFX(LoongarchWriteqKs0):
  22. csrwr A0, LOONGARCH_CSR_KS0
  23. jirl ZERO, RA,0
  24. #
  25. # Write Csr KS0 register.
  26. # @param A0 Pointer to the variable used to store the KS0 register value
  27. # @retval none
  28. #
  29. ASM_PFX(LoongarchReadqKs0):
  30. csrrd T0, LOONGARCH_CSR_KS0
  31. stptr.d T0, A0, 0
  32. jirl ZERO, RA,0
  33. jirl ZERO, RA,0