diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-03-13 09:43:36 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-03-13 09:43:36 +0000 |
commit | 6f7e9aec5eb5bdfa57a9e458e391b785c283a007 (patch) | |
tree | 8679501a365f5fa7ee5b4e6fdd8d6a4f6e92f679 /target-sparc/op_helper.c | |
parent | b756921ad18c8d293da634ff3b4e950ec8ae3f80 (diff) |
sparc fixes (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1326 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op_helper.c')
-rw-r--r-- | target-sparc/op_helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index 4c65c64d67..9cb3de49ac 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -164,7 +164,9 @@ void helper_st_asi(int asi, int size, int sign) case 0: env->mmuregs[reg] &= ~(MMU_E | MMU_NF); env->mmuregs[reg] |= T1 & (MMU_E | MMU_NF); - if ((oldreg & MMU_E) != (env->mmuregs[reg] & MMU_E)) + // Mappings generated during no-fault mode or MMU + // disabled mode are invalid in normal mode + if (oldreg != env->mmuregs[reg]) tlb_flush(env, 1); break; case 2: |