HCR_EL2 : configuration routing.. Exception state determined by..
Software can initiate a return from an exception by executing an ERET instruction from AArch64.
-> 예외에서 복귀하는 명령어 ERET
Vector Base Address Register, VBAR_ELx
The processor timers
- EL1 physical timer
- EL1 virtual timer
CNTPCT_EL0 system register reports the current system count value.
CNTFRQ_EL0 reports the frequency of the system count.
<timer>_CTL_EL<x> : Contorl register
<timer>_CVAL_EL<x> : Comparator value
<timer>_TVAL_EL<x> : Timer value
--> <timer> : EL1 physical timer는 CNTP, EL1 virtual timer는 CNTV가 prefix임
CNTKCTL_EL1 을 통해 EL physical, virtual timer들은 컨트롤 될 수 있음
타이머를 설정하는건 두가지 방법이 있어. 하나는 CVAL을 사용하는거고, 다른 하나는 TVAL을 사용하는거지.
CVAL 레지스터는 64bit고, 이 레지스터에 count가 도달하거나 초과하는 경우에 트리거를 발생시키는건가?
TVAL은 32bit고, 소프트웨어가 TVAL을 쓸 때, 프로세서는 현재 시스템 카운터를 읽고, 쓴 값을 더해서 CVAL 값을 구함.
CTL 레지스터에서 아래 필드는..
• ENABLE – Enables the timer.
• IMASK – Interrupt mask. Enables or disables interrupt generation.
• ISTATUS – When ENABLE==1, reports whether the timer is firing (CVAL <= System Count).
-> To generate an interrupt, software must set ENABLE to 1 and clear IMASK to 0.
The interrupt ID (INTID)
- EL1 physical timer : 30
- EL1 vitrual timer : 27
-> Private Peripheral Interrupt (PPI) range.
'개발' 카테고리의 다른 글
stack (0) | 2019.12.17 |
---|---|
어셈블리어 (0) | 2019.12.17 |
plot graph color (0) | 2019.10.04 |
0713 kernel (1) | 2019.07.13 |
컴파일러 (0) | 2019.01.08 |