mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-21 17:11:57 -06:00
target/arm: Use CP_ACCESS_TRAP_EL1 for traps that are always to EL1
We currently use CP_ACCESS_TRAP in a number of access functions where we know we're currently at EL0; in this case the "usual target EL" is EL1, so CP_ACCESS_TRAP and CP_ACCESS_TRAP_EL1 behave the same. Use CP_ACCESS_TRAP_EL1 to more closely match the pseudocode for this sort of check. Note that in the case of the access functions foc cacheop to PoC or PoU, the code was correct but the comment was wrong: SCTLR_EL1.UCI traps for DC CVAC, DC CIVAC, DC CVAP, DC CVADP, DC CVAU and IC IVAU should be system access traps, not UNDEFs. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20250130182309.717346-11-peter.maydell@linaro.org
This commit is contained in:
parent
273d0e84cc
commit
2d60f1acdb
2 changed files with 16 additions and 16 deletions
|
@ -875,7 +875,7 @@ static CPAccessResult access_tdcc(CPUARMState *env, const ARMCPRegInfo *ri,
|
|||
(env->cp15.mdcr_el3 & MDCR_TDCC);
|
||||
|
||||
if (el < 1 && mdscr_el1_tdcc) {
|
||||
return CP_ACCESS_TRAP;
|
||||
return CP_ACCESS_TRAP_EL1;
|
||||
}
|
||||
if (el < 2 && (mdcr_el2_tda || mdcr_el2_tdcc)) {
|
||||
return CP_ACCESS_TRAP_EL2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue