From f25359cd87d181ceb62875aa893eed7d241418ad Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Mon, 11 Jan 2010 14:21:58 +0100 Subject: ppc-40x: Get TLB attributes from TLBLO. The ZSEL was incorrectly beeing decoded from TLBHI. Decode it from TLBLO instead. Signed-off-by: Edgar E. Iglesias --- target-ppc/op_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index cea27f2..3575b29 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -3990,7 +3990,6 @@ void helper_4xx_tlbwe_hi (target_ulong entry, target_ulong val) cpu_abort(env, "Little-endian TLB entries are not supported by now\n"); } tlb->PID = env->spr[SPR_40x_PID]; /* PID */ - tlb->attr = val & 0xFF; LOG_SWTLB("%s: set up TLB %d RPN " TARGET_FMT_plx " EPN " TARGET_FMT_lx " size " TARGET_FMT_lx " prot %c%c%c%c PID %d\n", __func__, (int)entry, tlb->RPN, tlb->EPN, tlb->size, @@ -4016,6 +4015,7 @@ void helper_4xx_tlbwe_lo (target_ulong entry, target_ulong val) val); entry &= 0x3F; tlb = &env->tlb[entry].tlbe; + tlb->attr = val & 0xFF; tlb->RPN = val & 0xFFFFFC00; tlb->prot = PAGE_READ; if (val & 0x200) -- cgit v1.1