https://developer.arm.com/documentation/102379/0101/The-processor-timers?lang=en
Count & Freq §
CNTPCT_EL0
- Current System Count Value
CNTFRQ_EL0
- Frequency of the System Count
- Write-able at the highest implemented EL, Readable at all EL
Registers §
Register | Purpose |
---|
<timer>_CTL_EL<x> | Control register |
<timer>_CVAL_EL<x> | Comparator value |
<timer>_TVAL_EL<x> | Timer value |
Timer | Register prefix | EL |
---|
EL1 physical timer | CNTP | EL0 |
EL1 virtual time | CNTV | EL0 |
Non-secure EL2 physical timer | CNTHP | EL2 |
Non-secure EL2 virtual timer | CNTHV | EL2 |
EL3 physical timer | CNTPS | EL1 |
Secure EL2 physical timer | CNTHPS | EL2 |
Secure EL2 virtual timer | CNTHVS | EL2 |
Configuration §
CVAL
§
- Comparator Register
- 64bit
Timer Condition Met:
CVAL <= System Count
TVAL
§
- Timer Register
- 32bit
Timer Condition Met:
TVAL <= 0
정리 §
- CVAL은 System Count와 일치할 때..
- TVAL은 TVAL 만큼 Count한 이후에..
Interrupts §
CNTP_CTL §
ENABLE
: Enables the timer
IMASK
: Interrupt Mask
ISTATUS
: Reports whether the timer is firing (=CVAL <= System Count
) when ENABLE==1