Commit 55e4f664 authored by bellard's avatar bellard
Browse files

FPU fix (Joerg Platte)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1962 c046a42c-6fe2-441c-8c8c-71466251a162
parent d8e3326c
...@@ -982,6 +982,7 @@ static void disas_sparc_insn(DisasContext * dc) ...@@ -982,6 +982,7 @@ static void disas_sparc_insn(DisasContext * dc)
{ {
int cc = GET_FIELD_SP(insn, 20, 21); int cc = GET_FIELD_SP(insn, 20, 21);
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
save_state(dc);
gen_op_trap_ifnofpu(); gen_op_trap_ifnofpu();
#endif #endif
target = GET_FIELD_SP(insn, 0, 18); target = GET_FIELD_SP(insn, 0, 18);
...@@ -1002,6 +1003,7 @@ static void disas_sparc_insn(DisasContext * dc) ...@@ -1002,6 +1003,7 @@ static void disas_sparc_insn(DisasContext * dc)
case 0x6: /* FBN+x */ case 0x6: /* FBN+x */
{ {
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
save_state(dc);
gen_op_trap_ifnofpu(); gen_op_trap_ifnofpu();
#endif #endif
target = GET_FIELD(insn, 10, 31); target = GET_FIELD(insn, 10, 31);
...@@ -1236,6 +1238,7 @@ static void disas_sparc_insn(DisasContext * dc) ...@@ -1236,6 +1238,7 @@ static void disas_sparc_insn(DisasContext * dc)
#endif #endif
} else if (xop == 0x34) { /* FPU Operations */ } else if (xop == 0x34) { /* FPU Operations */
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
save_state(dc);
gen_op_trap_ifnofpu(); gen_op_trap_ifnofpu();
#endif #endif
rs1 = GET_FIELD(insn, 13, 17); rs1 = GET_FIELD(insn, 13, 17);
...@@ -1424,6 +1427,7 @@ static void disas_sparc_insn(DisasContext * dc) ...@@ -1424,6 +1427,7 @@ static void disas_sparc_insn(DisasContext * dc)
int cond; int cond;
#endif #endif
#if !defined(CONFIG_USER_ONLY) #if !defined(CONFIG_USER_ONLY)
save_state(dc);
gen_op_trap_ifnofpu(); gen_op_trap_ifnofpu();
#endif #endif
rs1 = GET_FIELD(insn, 13, 17); rs1 = GET_FIELD(insn, 13, 17);
...@@ -2346,6 +2350,7 @@ static void disas_sparc_insn(DisasContext * dc) ...@@ -2346,6 +2350,7 @@ static void disas_sparc_insn(DisasContext * dc)
#endif #endif
} else if (xop >= 0x20 && xop < 0x24) { } else if (xop >= 0x20 && xop < 0x24) {
#if !defined(CONFIG_USER_ONLY) || defined(TARGET_SPARC64) #if !defined(CONFIG_USER_ONLY) || defined(TARGET_SPARC64)
save_state(dc);
gen_op_trap_ifnofpu(); gen_op_trap_ifnofpu();
#endif #endif
switch (xop) { switch (xop) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment