qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [5824] target-ppc: convert wait instruction to TCG


From: Aurelien Jarno
Subject: [Qemu-devel] [5824] target-ppc: convert wait instruction to TCG
Date: Sun, 30 Nov 2008 16:23:47 +0000

Revision: 5824
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5824
Author:   aurel32
Date:     2008-11-30 16:23:46 +0000 (Sun, 30 Nov 2008)

Log Message:
-----------
target-ppc: convert wait instruction to TCG

Signed-off-by: Aurelien Jarno <address@hidden>

Modified Paths:
--------------
    trunk/target-ppc/op.c
    trunk/target-ppc/op_helper.h
    trunk/target-ppc/translate.c

Modified: trunk/target-ppc/op.c
===================================================================
--- trunk/target-ppc/op.c       2008-11-30 16:23:35 UTC (rev 5823)
+++ trunk/target-ppc/op.c       2008-11-30 16:23:46 UTC (rev 5824)
@@ -290,12 +290,6 @@
 }
 #endif
 
-void OPPROTO op_wait (void)
-{
-    env->halted = 1;
-    RETURN();
-}
-
 /* Return from interrupt */
 #if !defined(CONFIG_USER_ONLY)
 void OPPROTO op_rfi (void)

Modified: trunk/target-ppc/op_helper.h
===================================================================
--- trunk/target-ppc/op_helper.h        2008-11-30 16:23:35 UTC (rev 5823)
+++ trunk/target-ppc/op_helper.h        2008-11-30 16:23:46 UTC (rev 5824)
@@ -85,11 +85,6 @@
 void do_store_hid0_601 (void);
 #endif
 
-/* PowerPC 602 specific helper */
-#if !defined(CONFIG_USER_ONLY)
-void do_op_602_mfrom (void);
-#endif
-
 /* PowerPC 440 specific helpers */
 #if !defined(CONFIG_USER_ONLY)
 void do_440_tlbre (int word);

Modified: trunk/target-ppc/translate.c
===================================================================
--- trunk/target-ppc/translate.c        2008-11-30 16:23:35 UTC (rev 5823)
+++ trunk/target-ppc/translate.c        2008-11-30 16:23:46 UTC (rev 5824)
@@ -3310,8 +3310,10 @@
 /* wait */
 GEN_HANDLER(wait, 0x1F, 0x1E, 0x01, 0x03FFF801, PPC_WAIT)
 {
+    TCGv_i32 t0 = tcg_temp_new_i32();
+    tcg_gen_st_i32(t0, cpu_env, offsetof(CPUState, halted));
+    tcg_temp_free_i32(t0);
     /* Stop translation, as the CPU is supposed to sleep from now */
-    gen_op_wait();
     GEN_EXCP(ctx, EXCP_HLT, 1);
 }
 






reply via email to

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