ArmV7ArchTimerSupport.S 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #------------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 2011, ARM Limited. All rights reserved.
  4. #
  5. # This program and the accompanying materials
  6. # are licensed and made available under the terms and conditions of the BSD License
  7. # which accompanies this distribution. The full text of the license may be found at
  8. # http://opensource.org/licenses/bsd-license.php
  9. #
  10. # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  12. #
  13. #------------------------------------------------------------------------------
  14. .text
  15. .align 2
  16. GCC_ASM_EXPORT (ArmReadCntFrq)
  17. GCC_ASM_EXPORT (ArmWriteCntFrq)
  18. GCC_ASM_EXPORT (ArmReadCntPct)
  19. GCC_ASM_EXPORT (ArmReadCntkCtl)
  20. GCC_ASM_EXPORT (ArmWriteCntkCtl)
  21. GCC_ASM_EXPORT (ArmReadCntpTval)
  22. GCC_ASM_EXPORT (ArmWriteCntpTval)
  23. GCC_ASM_EXPORT (ArmReadCntpCtl)
  24. GCC_ASM_EXPORT (ArmWriteCntpCtl)
  25. GCC_ASM_EXPORT (ArmReadCntvTval)
  26. GCC_ASM_EXPORT (ArmWriteCntvTval)
  27. GCC_ASM_EXPORT (ArmReadCntvCtl)
  28. GCC_ASM_EXPORT (ArmWriteCntvCtl)
  29. GCC_ASM_EXPORT (ArmReadCntvCt)
  30. GCC_ASM_EXPORT (ArmReadCntpCval)
  31. GCC_ASM_EXPORT (ArmWriteCntpCval)
  32. GCC_ASM_EXPORT (ArmReadCntvCval)
  33. GCC_ASM_EXPORT (ArmWriteCntvCval)
  34. GCC_ASM_EXPORT (ArmReadCntvOff)
  35. GCC_ASM_EXPORT (ArmWriteCntvOff)
  36. ASM_PFX(ArmReadCntFrq):
  37. mrc p15, 0, r0, c14, c0, 0 @ Read CNTFRQ
  38. bx lr
  39. ASM_PFX(ArmWriteCntFrq):
  40. mcr p15, 0, r0, c14, c0, 0 @ Write to CNTFRQ
  41. bx lr
  42. ASM_PFX(ArmReadCntPct):
  43. mrrc p15, 0, r0, r1, c14 @ Read CNTPT (Physical counter register)
  44. bx lr
  45. ASM_PFX(ArmReadCntkCtl):
  46. mrc p15, 0, r0, c14, c1, 0 @ Read CNTK_CTL (Timer PL1 Control Register)
  47. bx lr
  48. ASM_PFX(ArmWriteCntkCtl):
  49. mcr p15, 0, r0, c14, c1, 0 @ Write to CNTK_CTL (Timer PL1 Control Register)
  50. bx lr
  51. ASM_PFX(ArmReadCntpTval):
  52. mrc p15, 0, r0, c14, c2, 0 @ Read CNTP_TVAL (PL1 physical timer value register)
  53. bx lr
  54. ASM_PFX(ArmWriteCntpTval):
  55. mcr p15, 0, r0, c14, c2, 0 @ Write to CNTP_TVAL (PL1 physical timer value register)
  56. bx lr
  57. ASM_PFX(ArmReadCntpCtl):
  58. mrc p15, 0, r0, c14, c2, 1 @ Read CNTP_CTL (PL1 Physical Timer Control Register)
  59. bx lr
  60. ASM_PFX(ArmWriteCntpCtl):
  61. mcr p15, 0, r0, c14, c2, 1 @ Write to CNTP_CTL (PL1 Physical Timer Control Register)
  62. bx lr
  63. ASM_PFX(ArmReadCntvTval):
  64. mrc p15, 0, r0, c14, c3, 0 @ Read CNTV_TVAL (Virtual Timer Value register)
  65. bx lr
  66. ASM_PFX(ArmWriteCntvTval):
  67. mcr p15, 0, r0, c14, c3, 0 @ Write to CNTV_TVAL (Virtual Timer Value register)
  68. bx lr
  69. ASM_PFX(ArmReadCntvCtl):
  70. mrc p15, 0, r0, c14, c3, 1 @ Read CNTV_CTL (Virtual Timer Control Register)
  71. bx lr
  72. ASM_PFX(ArmWriteCntvCtl):
  73. mcr p15, 0, r0, c14, c3, 1 @ Write to CNTV_CTL (Virtual Timer Control Register)
  74. bx lr
  75. ASM_PFX(ArmReadCntvCt):
  76. mrrc p15, 1, r0, r1, c14 @ Read CNTVCT (Virtual Count Register)
  77. bx lr
  78. ASM_PFX(ArmReadCntpCval):
  79. mrrc p15, 2, r0, r1, c14 @ Read CNTP_CTVAL (Physical Timer Compare Value Register)
  80. bx lr
  81. ASM_PFX(ArmWriteCntpCval):
  82. mcrr p15, 2, r0, r1, c14 @ Write to CNTP_CTVAL (Physical Timer Compare Value Register)
  83. bx lr
  84. ASM_PFX(ArmReadCntvCval):
  85. mrrc p15, 3, r0, r1, c14 @ Read CNTV_CTVAL (Virtual Timer Compare Value Register)
  86. bx lr
  87. ASM_PFX(ArmWriteCntvCval):
  88. mcrr p15, 3, r0, r1, c14 @ write to CNTV_CTVAL (Virtual Timer Compare Value Register)
  89. bx lr
  90. ASM_PFX(ArmReadCntvOff):
  91. mrrc p15, 4, r0, r1, c14 @ Read CNTVOFF (virtual Offset register)
  92. bx lr
  93. ASM_PFX(ArmWriteCntvOff):
  94. mcrr p15, 4, r0, r1, c14 @ Write to CNTVOFF (Virtual Offset register)
  95. bx lr
  96. ASM_FUNCTION_REMOVE_IF_UNREFERENCED