I found this documentation: https://cs140e.sergio.bz/docs/ARMv8-Reference-Manual.pdf
On page D7-2464, it mentions that SCTLR_EL1 of the Non-Secure world can be accessed from EL3.
I am using ARMv8 FVP.
Can anyone provide guidance on how to access and update SCTLR_EL1 of the Non-Secure world (Linux) from EL3?
SCTLR_EL1
Thank you for your reply.However, I am getting different values in EL1 and EL3 for same register.I used the MRS instruction to read SCTLR_EL1 from Linux (EL1), and then I used the same MRS instruction from EL3 to read SCTLR_EL1.But the value I got from EL3 is different from the value I got from EL1. Why is that?I implemented a system call in which I read SCTLR_EL1, then performed an SMC, and read the same register from EL3.I tried reading it from various places in trusted firmware (from runtime_exception.S, Context.S), but I never got the same value in EL3 as in EL1.
Without knowing more, some guesses: