qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2] m68k: implement move to/from usp register instru


From: gerg
Subject: [Qemu-devel] [PATCH v2] m68k: implement move to/from usp register instruction
Date: Fri, 14 Sep 2012 09:37:55 +1000

From: Greg Ungerer <address@hidden>

Fill out the code support for the move to/from usp instructions. They are
being decoded, but there is no code to support their actions. So add it.

Current versions of Linux running on the ColdFire 5208 use these instructions.

Signed-off-by: Greg Ungerer <address@hidden>
---
 target-m68k/translate.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/target-m68k/translate.c b/target-m68k/translate.c
index 9fc1e31..7b55747 100644
--- a/target-m68k/translate.c
+++ b/target-m68k/translate.c
@@ -1980,8 +1980,8 @@ DISAS_INSN(move_from_usp)
         gen_exception(s, s->pc - 2, EXCP_PRIVILEGE);
         return;
     }
-    /* TODO: Implement USP.  */
-    gen_exception(s, s->pc - 2, EXCP_ILLEGAL);
+    tcg_gen_ld_i32(AREG(insn, 0), cpu_env,
+                   offsetof(CPUM68KState, sp[M68K_USP]));
 }
 
 DISAS_INSN(move_to_usp)
@@ -1990,8 +1990,8 @@ DISAS_INSN(move_to_usp)
         gen_exception(s, s->pc - 2, EXCP_PRIVILEGE);
         return;
     }
-    /* TODO: Implement USP.  */
-    gen_exception(s, s->pc - 2, EXCP_ILLEGAL);
+    tcg_gen_st_i32(AREG(insn, 0), cpu_env,
+                   offsetof(CPUM68KState, sp[M68K_USP]));
 }
 
 DISAS_INSN(halt)
-- 
1.7.0.4




reply via email to

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