mirror of
https://github.com/qemu/qemu.git
synced 2024-11-28 14:24:02 +08:00
L4 fix for rep nop (should handle all cases)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@571 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
4120b61d00
commit
ab1f142ba0
@ -3732,6 +3732,9 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
|
|||||||
/************************/
|
/************************/
|
||||||
/* misc */
|
/* misc */
|
||||||
case 0x90: /* nop */
|
case 0x90: /* nop */
|
||||||
|
/* XXX: correct lock test for all insn */
|
||||||
|
if (prefixes & PREFIX_LOCK)
|
||||||
|
goto illegal_op;
|
||||||
break;
|
break;
|
||||||
case 0x9b: /* fwait */
|
case 0x9b: /* fwait */
|
||||||
break;
|
break;
|
||||||
@ -4137,6 +4140,8 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
|
|||||||
gen_op_unlock();
|
gen_op_unlock();
|
||||||
return s->pc;
|
return s->pc;
|
||||||
illegal_op:
|
illegal_op:
|
||||||
|
if (s->prefix & PREFIX_LOCK)
|
||||||
|
gen_op_unlock();
|
||||||
/* XXX: ensure that no lock was generated */
|
/* XXX: ensure that no lock was generated */
|
||||||
gen_exception(s, EXCP06_ILLOP, pc_start - s->cs_base);
|
gen_exception(s, EXCP06_ILLOP, pc_start - s->cs_base);
|
||||||
return s->pc;
|
return s->pc;
|
||||||
|
Loading…
Reference in New Issue
Block a user