Commit 330c4d61 authored by balrog's avatar balrog
Browse files

Fix XScale MMU's extended small pages.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3093 c046a42c-6fe2-441c-8c8c-71466251a162
parent ae5d8053
...@@ -516,16 +516,16 @@ static int get_phys_addr(CPUState *env, uint32_t address, int access_type, ...@@ -516,16 +516,16 @@ static int get_phys_addr(CPUState *env, uint32_t address, int access_type,
ap = (desc >> (4 + ((address >> 13) & 6))) & 3; ap = (desc >> (4 + ((address >> 13) & 6))) & 3;
break; break;
case 3: /* 1k page. */ case 3: /* 1k page. */
if (arm_feature(env, ARM_FEATURE_XSCALE)) if (type == 1) {
phys_addr = (desc & 0xfffff000) | (address & 0xfff); if (arm_feature(env, ARM_FEATURE_XSCALE))
else { phys_addr = (desc & 0xfffff000) | (address & 0xfff);
if (type == 1) { else {
/* Page translation fault. */ /* Page translation fault. */
code = 7; code = 7;
goto do_fault; goto do_fault;
} }
} else
phys_addr = (desc & 0xfffffc00) | (address & 0x3ff); phys_addr = (desc & 0xfffffc00) | (address & 0x3ff);
}
ap = (desc >> 4) & 3; ap = (desc >> 4) & 3;
break; break;
default: default:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment