From 405ee3ad573c35790500048d07d5c7ac93167e6a Mon Sep 17 00:00:00 2001 From: balrog Date: Wed, 31 Oct 2007 00:47:13 +0000 Subject: Invalidate TLBs when domains are changed (Matthew Warton). Legalise cp15 pid register writes (Matthew Warton). git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3494 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-arm/helper.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'target-arm') diff --git a/target-arm/helper.c b/target-arm/helper.c index 4f851ce220..d06ee69e7a 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -704,6 +704,7 @@ void helper_set_cp15(CPUState *env, uint32_t insn, uint32_t val) break; case 3: /* MMU Domain access control / MPU write buffer control. */ env->cp15.c3 = val; + tlb_flush(env, 1); /* Flush TLB as domain not tracked in TLB */ break; case 4: /* Reserved. */ goto bad_reg; @@ -814,8 +815,6 @@ void helper_set_cp15(CPUState *env, uint32_t insn, uint32_t val) case 13: /* Process ID. */ switch (op2) { case 0: - if (!arm_feature(env, ARM_FEATURE_MPU)) - goto bad_reg; /* Unlike real hardware the qemu TLB uses virtual addresses, not modified virtual addresses, so this causes a TLB flush. */ -- cgit v1.2.3