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