Revision 88fe8a41

b/target-i386/exec.h
190 190
void helper_idivq_EAX_T0(void);
191 191
void helper_bswapq_T0(void);
192 192
void helper_cmpxchg8b(void);
193
void helper_single_step(void);
193 194
void helper_cpuid(void);
194 195
void helper_enter_level(int level, int data32);
195 196
void helper_enter64_level(int level, int data64);
b/target-i386/helper.c
1622 1622
    CC_SRC = eflags;
1623 1623
}
1624 1624

  
1625
void helper_single_step()
1626
{
1627
    env->dr[6] |= 0x4000;
1628
    raise_exception(EXCP01_SSTP);
1629
}
1630

  
1625 1631
void helper_cpuid(void)
1626 1632
{
1627 1633
    uint32_t index;
b/target-i386/op.c
730 730
    helper_cmpxchg8b();
731 731
}
732 732

  
733
void OPPROTO op_single_step(void)
734
{
735
    helper_single_step();
736
}
737

  
733 738
void OPPROTO op_movl_T0_0(void)
734 739
{
735 740
    T0 = 0;
b/target-i386/translate.c
2277 2277
    if (s->singlestep_enabled) {
2278 2278
        gen_op_debug();
2279 2279
    } else if (s->tf) {
2280
        gen_op_raise_exception(EXCP01_SSTP);
2280
	gen_op_single_step();
2281 2281
    } else {
2282 2282
        gen_op_movl_T0_0();
2283 2283
        gen_op_exit_tb();

Also available in: Unified diff