]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmLib/Arm/ArmV7ArchTimerSupport.asm
6896c1be2b071624458f991b896150a5ad21c1fc
[mirror_edk2.git] / ArmPkg / Library / ArmLib / Arm / ArmV7ArchTimerSupport.asm
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2011, ARM Limited. All rights reserved.
4 //
5 // SPDX-License-Identifier: BSD-2-Clause-Patent
6 //
7 //------------------------------------------------------------------------------
8
9
10 INCLUDE AsmMacroExport.inc
11 PRESERVE8
12
13 RVCT_ASM_EXPORT ArmReadCntFrq
14 mrc p15, 0, r0, c14, c0, 0 ; Read CNTFRQ
15 bx lr
16
17 RVCT_ASM_EXPORT ArmWriteCntFrq
18 mcr p15, 0, r0, c14, c0, 0 ; Write to CNTFRQ
19 bx lr
20
21 RVCT_ASM_EXPORT ArmReadCntPct
22 mrrc p15, 0, r0, r1, c14 ; Read CNTPT (Physical counter register)
23 bx lr
24
25 RVCT_ASM_EXPORT ArmReadCntkCtl
26 mrc p15, 0, r0, c14, c1, 0 ; Read CNTK_CTL (Timer PL1 Control Register)
27 bx lr
28
29 RVCT_ASM_EXPORT ArmWriteCntkCtl
30 mcr p15, 0, r0, c14, c1, 0 ; Write to CNTK_CTL (Timer PL1 Control Register)
31 bx lr
32
33 RVCT_ASM_EXPORT ArmReadCntpTval
34 mrc p15, 0, r0, c14, c2, 0 ; Read CNTP_TVAL (PL1 physical timer value register)
35 bx lr
36
37 RVCT_ASM_EXPORT ArmWriteCntpTval
38 mcr p15, 0, r0, c14, c2, 0 ; Write to CNTP_TVAL (PL1 physical timer value register)
39 bx lr
40
41 RVCT_ASM_EXPORT ArmReadCntpCtl
42 mrc p15, 0, r0, c14, c2, 1 ; Read CNTP_CTL (PL1 Physical Timer Control Register)
43 bx lr
44
45 RVCT_ASM_EXPORT ArmWriteCntpCtl
46 mcr p15, 0, r0, c14, c2, 1 ; Write to CNTP_CTL (PL1 Physical Timer Control Register)
47 bx lr
48
49 RVCT_ASM_EXPORT ArmReadCntvTval
50 mrc p15, 0, r0, c14, c3, 0 ; Read CNTV_TVAL (Virtual Timer Value register)
51 bx lr
52
53 RVCT_ASM_EXPORT ArmWriteCntvTval
54 mcr p15, 0, r0, c14, c3, 0 ; Write to CNTV_TVAL (Virtual Timer Value register)
55 bx lr
56
57 RVCT_ASM_EXPORT ArmReadCntvCtl
58 mrc p15, 0, r0, c14, c3, 1 ; Read CNTV_CTL (Virtual Timer Control Register)
59 bx lr
60
61 RVCT_ASM_EXPORT ArmWriteCntvCtl
62 mcr p15, 0, r0, c14, c3, 1 ; Write to CNTV_CTL (Virtual Timer Control Register)
63 bx lr
64
65 RVCT_ASM_EXPORT ArmReadCntvCt
66 mrrc p15, 1, r0, r1, c14 ; Read CNTVCT (Virtual Count Register)
67 bx lr
68
69 RVCT_ASM_EXPORT ArmReadCntpCval
70 mrrc p15, 2, r0, r1, c14 ; Read CNTP_CTVAL (Physical Timer Compare Value Register)
71 bx lr
72
73 RVCT_ASM_EXPORT ArmWriteCntpCval
74 mcrr p15, 2, r0, r1, c14 ; Write to CNTP_CTVAL (Physical Timer Compare Value Register)
75 bx lr
76
77 RVCT_ASM_EXPORT ArmReadCntvCval
78 mrrc p15, 3, r0, r1, c14 ; Read CNTV_CTVAL (Virtual Timer Compare Value Register)
79 bx lr
80
81 RVCT_ASM_EXPORT ArmWriteCntvCval
82 mcrr p15, 3, r0, r1, c14 ; write to CNTV_CTVAL (Virtual Timer Compare Value Register)
83 bx lr
84
85 RVCT_ASM_EXPORT ArmReadCntvOff
86 mrrc p15, 4, r0, r1, c14 ; Read CNTVOFF (virtual Offset register)
87 bx lr
88
89 RVCT_ASM_EXPORT ArmWriteCntvOff
90 mcrr p15, 4, r0, r1, c14 ; Write to CNTVOFF (Virtual Offset register)
91 bx lr
92
93 END