From 5b6e1e215083a390c19c087332b0dc76cb3545ab Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Sun, 4 Mar 2018 21:02:50 -0500 Subject: [PATCH] target/arm: Make MPU_MAIR0, MPU_MAIR1 registers banked for v8M Make the MPU registers MPU_MAIR0 and MPU_MAIR1 banked if v8M security extensions are enabled. Backports commit 4125e6feb71c810ca38f0d8e66e748b472a9cc54 from qemu --- qemu/target/arm/cpu.c | 6 ++++-- qemu/target/arm/cpu.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/qemu/target/arm/cpu.c b/qemu/target/arm/cpu.c index 52691ceb..5237b848 100644 --- a/qemu/target/arm/cpu.c +++ b/qemu/target/arm/cpu.c @@ -248,8 +248,10 @@ static void arm_cpu_reset(CPUState *s) } } env->pmsav7.rnr = 0; - env->pmsav8.mair0 = 0; - env->pmsav8.mair1 = 0; + env->pmsav8.mair0[M_REG_NS] = 0; + env->pmsav8.mair0[M_REG_S] = 0; + env->pmsav8.mair1[M_REG_NS] = 0; + env->pmsav8.mair1[M_REG_S] = 0; } set_flush_to_zero(1, &env->vfp.standard_fp_status); diff --git a/qemu/target/arm/cpu.h b/qemu/target/arm/cpu.h index 1a6a8475..d380a3be 100644 --- a/qemu/target/arm/cpu.h +++ b/qemu/target/arm/cpu.h @@ -550,8 +550,8 @@ typedef struct CPUARMState { */ uint32_t *rbar; uint32_t *rlar; - uint32_t mair0; - uint32_t mair1; + uint32_t mair0[2]; + uint32_t mair1[2]; } pmsav8; void *nvic;