aboutsummaryrefslogtreecommitdiff
path: root/include/qemu
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-05-06 13:02:19 -0500
committerPeter Maydell <peter.maydell@linaro.org>2022-05-09 11:47:53 +0100
commit696ba3771894f7a0b233e634dc9d401330568e35 (patch)
tree1ede6e622bad476a6c37648944e5cb1ca9da69b0 /include/qemu
parent14d5addcaedae2e8666aeda71510e1d4be5bb50d (diff)
downloadqemu-696ba3771894f7a0b233e634dc9d401330568e35.zip
qemu-696ba3771894f7a0b233e634dc9d401330568e35.tar.gz
qemu-696ba3771894f7a0b233e634dc9d401330568e35.tar.bz2
target/arm: Handle cpreg registration for missing EL
More gracefully handle cpregs when EL2 and/or EL3 are missing. If the reg is entirely inaccessible, do not register it at all. If the reg is for EL2, and EL3 is present but EL2 is not, either discard, squash to res0, const, or keep unchanged. Per rule RJFFP, mark the 4 aarch32 hypervisor access registers with ARM_CP_EL3_NO_EL2_KEEP, and mark all of the EL2 address translation and tlb invalidation "regs" ARM_CP_EL3_NO_EL2_UNDEF. Mark the 2 virtualization processor id regs ARM_CP_EL3_NO_EL2_C_NZ. This will simplify cpreg registration for conditional arm features. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220506180242.216785-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/qemu')
0 files changed, 0 insertions, 0 deletions