]> git.proxmox.com Git - qemu.git/commitdiff
ppc-40x: Correct decoding of zone protection bits.
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Mon, 11 Jan 2010 14:23:58 +0000 (15:23 +0100)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Thu, 14 Jan 2010 13:42:17 +0000 (14:42 +0100)
The 40x MMU has 15 zones in the ZPR register.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
target-ppc/helper.c

index b233d4f535c4d38ce7a15d8c155a0f0a23bf28bf..f9b55890d3b41182554b87ca5dfd72d978c79126 100644 (file)
@@ -1155,7 +1155,7 @@ static int mmu40x_get_physical_address (CPUState *env, mmu_ctx_t *ctx,
                              env->spr[SPR_40x_PID], 0, i) < 0)
             continue;
         zsel = (tlb->attr >> 4) & 0xF;
-        zpr = (env->spr[SPR_40x_ZPR] >> (28 - (2 * zsel))) & 0x3;
+        zpr = (env->spr[SPR_40x_ZPR] >> (30 - (2 * zsel))) & 0x3;
         LOG_SWTLB("%s: TLB %d zsel %d zpr %d rw %d attr %08x\n",
                     __func__, i, zsel, zpr, rw, tlb->attr);
         /* Check execute enable bit */