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