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