qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] [RFC] target-ppc: fix RFI by clearing TGPR and ILE


From: Thomas Monjalon
Subject: [Qemu-devel] [PATCH] [RFC] target-ppc: fix RFI by clearing TGPR and ILE
Date: Fri, 23 Apr 2010 18:09:31 +0200

From: Thomas Monjalon <address@hidden>

Since commit 2ada0ed, the PPC processors which have TGPR support
should be broken because the bit TGPR was not cleared.

After testing with e300, it seems that ILE should be cleared also.

Feedbacks welcomed, thanks.

Signed-off-by: Thomas Monjalon <address@hidden>
---
 target-ppc/op_helper.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 8f2ee98..22d7530 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -1645,8 +1645,10 @@ static inline void do_rfi(target_ulong nip, target_ulong 
msr,
 
 void helper_rfi (void)
 {
-    do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1],
-           ~((target_ulong)0x0), 1);
+    target_ulong msrm = 1 << MSR_ILE;
+    if (env->flags & POWERPC_FLAG_TGPR)
+       msrm |= 1 << MSR_TGPR;
+    do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1], ~((target_ulong)msrm), 1);
 }
 
 #if defined(TARGET_PPC64)
-- 
1.7.0.6







reply via email to

[Prev in Thread] Current Thread [Next in Thread]