M68K status register fixes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2967 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/target-m68k/op_helper.c b/target-m68k/op_helper.c
index 4c423ca..39cd5d7 100644
--- a/target-m68k/op_helper.c
+++ b/target-m68k/op_helper.c
@@ -131,6 +131,8 @@
vector = env->exception_index << 2;
+ sp = env->aregs[7];
+
fmt |= 0x40000000;
fmt |= (sp & 3) << 28;
fmt |= vector << 16;
@@ -143,8 +145,6 @@
}
m68k_switch_sp(env);
- sp = env->aregs[7];
-
/* ??? This could cause MMU faults. */
sp &= ~3;
sp -= 4;