MMU no fault fix
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 14 Jun 2006 12:37:30 +0000 (12:37 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 14 Jun 2006 12:37:30 +0000 (12:37 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1961 c046a42c-6fe2-441c-8c8c-71466251a162

target-sparc/helper.c

index d011de7fb7d4731a24edff7a1360d07843c1e4e3..982b7fcdec7ae8b1949dafead321b84db7c036e1 100644 (file)
@@ -190,7 +190,7 @@ int get_physical_address (CPUState *env, target_phys_addr_t *physical, int *prot
     /* check access */
     access_perms = (pde & PTE_ACCESS_MASK) >> PTE_ACCESS_SHIFT;
     error_code = access_table[*access_index][access_perms];
-    if (error_code && !(env->mmuregs[0] & MMU_NF))
+    if (error_code && !((env->mmuregs[0] & MMU_NF) && is_user))
        return error_code;
 
     /* the page can be put in the TLB */