mirror of https://github.com/proxmox/mirror_qemu
Fix co-processor branch and store ops (Aurelien Jarno)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2603 c046a42c-6fe2-441c-8c8c-71466251a162master
parent
803b3c7b4d
commit
a4d17f1992
|
@ -1012,6 +1012,11 @@ static void disas_sparc_insn(DisasContext * dc)
|
||||||
do_fbranch(dc, target, insn, cc);
|
do_fbranch(dc, target, insn, cc);
|
||||||
goto jmp_insn;
|
goto jmp_insn;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
case 0x7: /* CBN+x */
|
||||||
|
{
|
||||||
|
goto ncp_insn;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
case 0x2: /* BN+x */
|
case 0x2: /* BN+x */
|
||||||
{
|
{
|
||||||
|
@ -2444,12 +2449,7 @@ static void disas_sparc_insn(DisasContext * dc)
|
||||||
case 0x30: /* ldc */
|
case 0x30: /* ldc */
|
||||||
case 0x31: /* ldcsr */
|
case 0x31: /* ldcsr */
|
||||||
case 0x33: /* lddc */
|
case 0x33: /* lddc */
|
||||||
case 0x34: /* stc */
|
|
||||||
case 0x35: /* stcsr */
|
|
||||||
case 0x36: /* stdcq */
|
|
||||||
case 0x37: /* stdc */
|
|
||||||
goto ncp_insn;
|
goto ncp_insn;
|
||||||
break;
|
|
||||||
/* avoid warnings */
|
/* avoid warnings */
|
||||||
(void) &gen_op_stfa;
|
(void) &gen_op_stfa;
|
||||||
(void) &gen_op_stdfa;
|
(void) &gen_op_stdfa;
|
||||||
|
@ -2612,8 +2612,8 @@ static void disas_sparc_insn(DisasContext * dc)
|
||||||
goto illegal_insn;
|
goto illegal_insn;
|
||||||
}
|
}
|
||||||
} else if (xop > 0x33 && xop < 0x3f) {
|
} else if (xop > 0x33 && xop < 0x3f) {
|
||||||
#ifdef TARGET_SPARC64
|
|
||||||
switch (xop) {
|
switch (xop) {
|
||||||
|
#ifdef TARGET_SPARC64
|
||||||
case 0x34: /* V9 stfa */
|
case 0x34: /* V9 stfa */
|
||||||
gen_op_stfa(insn, 0, 0, 0); // XXX
|
gen_op_stfa(insn, 0, 0, 0); // XXX
|
||||||
break;
|
break;
|
||||||
|
@ -2628,12 +2628,16 @@ static void disas_sparc_insn(DisasContext * dc)
|
||||||
break;
|
break;
|
||||||
case 0x36: /* V9 stqfa */
|
case 0x36: /* V9 stqfa */
|
||||||
goto nfpu_insn;
|
goto nfpu_insn;
|
||||||
|
#else
|
||||||
|
case 0x34: /* stc */
|
||||||
|
case 0x35: /* stcsr */
|
||||||
|
case 0x36: /* stdcq */
|
||||||
|
case 0x37: /* stdc */
|
||||||
|
goto ncp_insn;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
goto illegal_insn;
|
goto illegal_insn;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
goto illegal_insn;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
goto illegal_insn;
|
goto illegal_insn;
|
||||||
|
|
Loading…
Reference in New Issue