I can access ICC_IAR1_EL1 at EL3 using SP_EL0, however, after I switch EL3 to EL1 non-secure, I can't read IIC_IAR1_EL1 anymore, which doesn't make sense.
Can anybody help here? much appreciated.
__func__011000 EC=MSR, MRS, or System instruction, that isn't reported using EC 0x00/0x01/0x07Unhandled exception 0x18(24) from CA72_0 to CA72_0EXC number:0x00000018EXC class: 0x00000018FaultReg: 0x00000000StatusPrg: 0x80000005PC: 0x00000000 0xA0007F78 FaultReg: 0xD538CC00StatusPrg: 0x00303019Exception class is MSR_MRS These report exceptions from MSR, MRS, or System instructions Instruction syndrome MSR/MRS: Op0: 0x00000000Op2: 0x00000000Op1: 0x00000000CRn: 0x00000000Rt : 0x00000000CRm: 0x00000018dir: 0x00000001
Hi Martin,
Much appreciated for guiding me how to understand the accessor! I eventually figure out what's happening.
My ICC_IAR1_EL1 reading is trapped as below.
After I setting SCR_EL3 from 0xc0f to 0xc0d (setting IRQ from 1 to 0, and setting NS from 0 to 1), I can read out ICC_IAR1_EL1_NS successfully.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
icc_sre_el1 is 0x7icc_sre_el3 is 0x7
SCR_EL3 is 0xc0e
SCR_EL3 is 0xc0dicc_sre_el1 is 0x7ICC IAR1 EL1 is 0x3ffenter non-secure worldtransition_to_lower_el :Current EL is EL2
HCR_EL2 is 0x0transition_to_lower_el :Current EL is EL1
current EL is 0x4ICC IAR1 EL1 is 0x3ff
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BTW, I am wondering if I go into "UNDEFINED" what's going to happen? system crash? thanks in advance.