No need to translate EIP
This commit is contained in:
@@ -1672,13 +1672,11 @@ cpu_386_check_instruction_fault(void)
|
|||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
int breakpoint_enabled = !!(dr[7] & (0x3 << (2 * i))) && !(dr[7] & (0x30000 << (4 * i)));
|
int breakpoint_enabled = !!(dr[7] & (0x3 << (2 * i))) && !(dr[7] & (0x30000 << (4 * i)));
|
||||||
uint64_t translated_addr = 0xffffffffffffffffULL;
|
uint32_t translated_addr = 0xffffffff;
|
||||||
if (!breakpoint_enabled)
|
if (!breakpoint_enabled)
|
||||||
continue;
|
continue;
|
||||||
if (!(cr0 >> 31))
|
|
||||||
translated_addr = dr[i];
|
translated_addr = dr[i];
|
||||||
else
|
|
||||||
translated_addr = cpu_exec == exec386_2386 ? mmutranslate_noabrt_2386(dr[i], 0) : mmutranslate_noabrt(dr[i], 0);
|
|
||||||
|
|
||||||
if ((cs + cpu_state.pc) == (uint32_t)translated_addr) {
|
if ((cs + cpu_state.pc) == (uint32_t)translated_addr) {
|
||||||
dr[6] |= (1 << i);
|
dr[6] |= (1 << i);
|
||||||
|
|||||||
Reference in New Issue
Block a user