summaryrefslogtreecommitdiff
path: root/target-sparc
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-24 19:08:28 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-24 19:08:28 +0000
commit6d8b3b3631d913a681aaf96b2990492094b0264b (patch)
treea292b1bbede718a326a2575d3152258c7ea89a7f /target-sparc
parent47bf94f45e4a7db74e5a34b138226afa410293cb (diff)
downloadqemu-6d8b3b3631d913a681aaf96b2990492094b0264b.tar.gz
qemu-6d8b3b3631d913a681aaf96b2990492094b0264b.tar.bz2
qemu-6d8b3b3631d913a681aaf96b2990492094b0264b.zip
Fix Sparc mmu bug seen with NetBSD, based on patch by Cliff Wright
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4785 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc')
-rw-r--r--target-sparc/helper.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/target-sparc/helper.c b/target-sparc/helper.c
index 7b87d592c4..a3e50bd4c9 100644
--- a/target-sparc/helper.c
+++ b/target-sparc/helper.c
@@ -87,14 +87,14 @@ int cpu_sparc_handle_mmu_fault(CPUState *env1, target_ulong address, int rw,
* Sparc V8 Reference MMU (SRMMU)
*/
static const int access_table[8][8] = {
- { 0, 0, 0, 0, 2, 0, 3, 3 },
- { 0, 0, 0, 0, 2, 0, 0, 0 },
- { 2, 2, 0, 0, 0, 2, 3, 3 },
- { 2, 2, 0, 0, 0, 2, 0, 0 },
- { 2, 0, 2, 0, 2, 2, 3, 3 },
- { 2, 0, 2, 0, 2, 0, 2, 0 },
- { 2, 2, 2, 0, 2, 2, 3, 3 },
- { 2, 2, 2, 0, 2, 2, 2, 0 }
+ { 0, 0, 0, 0, 8, 0, 12, 12 },
+ { 0, 0, 0, 0, 8, 0, 0, 0 },
+ { 8, 8, 0, 0, 0, 8, 12, 12 },
+ { 8, 8, 0, 0, 0, 8, 0, 0 },
+ { 8, 0, 8, 0, 8, 8, 12, 12 },
+ { 8, 0, 8, 0, 8, 0, 8, 0 },
+ { 8, 8, 8, 0, 8, 8, 12, 12 },
+ { 8, 8, 8, 0, 8, 8, 8, 0 }
};
static const int perm_table[2][8] = {