summaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-01-20 04:06:18 +0100
committerAlexander Graf <agraf@suse.de>2012-02-02 02:47:45 +0100
commitffba87862b37f1d7762370c8d31b09f6e359ff09 (patch)
treebc6428be7aecf86e6a22ec9ebd75d6beb0d87300 /target-ppc
parentdcb2b9e1003a9179650b44c747faa4e5767ce92b (diff)
downloadqemu-ffba87862b37f1d7762370c8d31b09f6e359ff09.tar.gz
qemu-ffba87862b37f1d7762370c8d31b09f6e359ff09.tar.bz2
qemu-ffba87862b37f1d7762370c8d31b09f6e359ff09.zip
PPC: booke206: allow NULL raddr in ppcmas_tlb_check
We might want to call the tlb check function without actually caring about the real address resolution. Check if we really should write the value back. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/helper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index 58474536c0..2ce2d9238f 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -1338,7 +1338,10 @@ int ppcmas_tlb_check(CPUState *env, ppcmas_tlb_t *tlb,
if ((address & mask) != (tlb->mas2 & MAS2_EPN_MASK)) {
return -1;
}
- *raddrp = (tlb->mas7_3 & mask) | (address & ~mask);
+
+ if (raddrp) {
+ *raddrp = (tlb->mas7_3 & mask) | (address & ~mask);
+ }
return 0;
}