Commit 55e4f6644e32bfb8fe84c8b8eab95ec5984679cf

Authored by bellard
1 parent d8e3326c

FPU fix (Joerg Platte)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1962 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 5 additions and 0 deletions
target-sparc/translate.c
... ... @@ -982,6 +982,7 @@ static void disas_sparc_insn(DisasContext * dc)
982 982 {
983 983 int cc = GET_FIELD_SP(insn, 20, 21);
984 984 #if !defined(CONFIG_USER_ONLY)
  985 + save_state(dc);
985 986 gen_op_trap_ifnofpu();
986 987 #endif
987 988 target = GET_FIELD_SP(insn, 0, 18);
... ... @@ -1002,6 +1003,7 @@ static void disas_sparc_insn(DisasContext * dc)
1002 1003 case 0x6: /* FBN+x */
1003 1004 {
1004 1005 #if !defined(CONFIG_USER_ONLY)
  1006 + save_state(dc);
1005 1007 gen_op_trap_ifnofpu();
1006 1008 #endif
1007 1009 target = GET_FIELD(insn, 10, 31);
... ... @@ -1236,6 +1238,7 @@ static void disas_sparc_insn(DisasContext * dc)
1236 1238 #endif
1237 1239 } else if (xop == 0x34) { /* FPU Operations */
1238 1240 #if !defined(CONFIG_USER_ONLY)
  1241 + save_state(dc);
1239 1242 gen_op_trap_ifnofpu();
1240 1243 #endif
1241 1244 rs1 = GET_FIELD(insn, 13, 17);
... ... @@ -1424,6 +1427,7 @@ static void disas_sparc_insn(DisasContext * dc)
1424 1427 int cond;
1425 1428 #endif
1426 1429 #if !defined(CONFIG_USER_ONLY)
  1430 + save_state(dc);
1427 1431 gen_op_trap_ifnofpu();
1428 1432 #endif
1429 1433 rs1 = GET_FIELD(insn, 13, 17);
... ... @@ -2346,6 +2350,7 @@ static void disas_sparc_insn(DisasContext * dc)
2346 2350 #endif
2347 2351 } else if (xop >= 0x20 && xop < 0x24) {
2348 2352 #if !defined(CONFIG_USER_ONLY) || defined(TARGET_SPARC64)
  2353 + save_state(dc);
2349 2354 gen_op_trap_ifnofpu();
2350 2355 #endif
2351 2356 switch (xop) {
... ...