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

+ Recent posts