target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
The SCTLR bits S and R (8 and 9) only exist in ARMv6 and earlier. In ARMv7 these bits RAZ, and in ARMv8 they are reassigned. Guard the use of them in check_ap() so that we don't get incorrect results for ARMv8 CPUs. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
This commit is contained in:
parent
76e3e1bcae
commit
99f678a679
@ -2767,6 +2767,9 @@ static inline int check_ap(CPUARMState *env, int ap, int domain_prot,
|
||||
|
||||
switch (ap) {
|
||||
case 0:
|
||||
if (arm_feature(env, ARM_FEATURE_V7)) {
|
||||
return 0;
|
||||
}
|
||||
if (access_type == 1)
|
||||
return 0;
|
||||
switch (env->cp15.c1_sys & (SCTLR_S | SCTLR_R)) {
|
||||
|
Loading…
Reference in New Issue
Block a user