[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 09/77] ppc: Fix do_rfi() for rfi emulation
From: |
Benjamin Herrenschmidt |
Subject: |
[Qemu-ppc] [PATCH 09/77] ppc: Fix do_rfi() for rfi emulation |
Date: |
Wed, 11 Nov 2015 11:27:22 +1100 |
XXX This patch needs double checking... It fixed 32-bit userspace
but I'm not sure it's right. I wonder whether msr_is_64bit() should
be applied to env->msr, not msr, but I need to double check the
architecture.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
---
target-ppc/excp_helper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target-ppc/excp_helper.c b/target-ppc/excp_helper.c
index c1d6605..00fae60 100644
--- a/target-ppc/excp_helper.c
+++ b/target-ppc/excp_helper.c
@@ -878,13 +878,13 @@ static inline void do_rfi(CPUPPCState *env, target_ulong
nip, target_ulong msr,
CPUState *cs = CPU(ppc_env_get_cpu(env));
#if defined(TARGET_PPC64)
+ msr = msr & msrm;
if (msr_is_64bit(env, msr)) {
nip = (uint64_t)nip;
- msr &= (uint64_t)msrm;
} else {
nip = (uint32_t)nip;
- msr = (uint32_t)(msr & msrm);
if (keep_msrh) {
+ msr &= 0xffffffff;
msr |= env->msr & ~((uint64_t)0xFFFFFFFF);
}
}
--
2.5.0
[Qemu-ppc] [PATCH 08/77] ppc: Add number of threads per core to the processor definition, Benjamin Herrenschmidt, 2015/11/10
[Qemu-ppc] [PATCH 03/77] ppc: Do some batching of TCG tlb flushes, Benjamin Herrenschmidt, 2015/11/10