mirror of https://github.com/xemu-project/xemu.git
FPU fix (Joerg Platte)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1962 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
d8e3326c8e
commit
55e4f6644e
|
@ -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)
|
||||||
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)
|
||||||
#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)
|
||||||
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)
|
||||||
#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) {
|
||||||
|
|
Loading…
Reference in New Issue