qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 7/7] PPC64: Don't fault at lwsync


From: Alexander Graf
Subject: [Qemu-devel] [PATCH 7/7] PPC64: Don't fault at lwsync
Date: Thu, 5 Mar 2009 15:14:14 +0100

Right now we can throw a fault on lwsync, even though the fault is
actually caused by the instruction after lwsync.

I haven't found the magic that messed this up, but for now we can
just end the TB on lwsync, forcing the next command to issue faults
itself.

If anyone knows how to really fix this, please step forward and do
so. This only makes things work at all for me :-).

Signed-off-by: Alexander Graf <address@hidden>
---
 target-ppc/translate.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index b5de33b..c994ad7 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -3289,6 +3289,10 @@ GEN_HANDLER2(stdcx_, "stdcx.", 0x1F, 0x16, 0x06, 
0x00000000, PPC_64B)
 /* sync */
 GEN_HANDLER(sync, 0x1F, 0x16, 0x12, 0x039FF801, PPC_MEM_SYNC)
 {
+    // XXX without stopping here a page fault thinks it happens
+    //     in the sync, which is obviously wrong. Let's just keep
+    //     a sync as one TB as long as we don't do real SMP.
+    gen_stop_exception(ctx);
 }
 
 /* wait */
-- 
1.6.0.2





reply via email to

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