I want to trap the non-secure access of several system registers (TTBR0_EL2, VTTBR_EL2, HCR_EL2, etc.) to EL3. However, when I look up the ARMv8-A reference manual, I cannot find some useful information. It seems that the ARMv8-A only supports trapping the access of EL1 TTBR registers to EL2 (with HCR_EL2), but not for EL3.
How can I do it?
Maybe it is difficult. But if the EL3 knows any Write operation to the system registers above, it is also acceptable.
You should look up the right manual. In the original v8-A, EL2 runs in non-secure mode only. I think with 8.2 secure EL2 was introduced, so maybe the manual of 8.2-A describes what you want.
I think it is not related to Secure EL2. Previously, I believe that EL3 can monitor or trap the Read or Write (MRS or MSR) operations for ALL non-secure system registers. But maybe I am wrong.
Those EL2 registers are used for virtualization, it is unrelated to security. so architecture does not provide trapping them to EL3. Is there a reason why software would like to do this?