0:0 is the adress x86emu_call pushes on the stack, so check for it here

explicitly to stop processing again. As this is the start of the IDT,
normal code is not likely to override it.
This commit is contained in:
joerg 2009-02-03 19:26:29 +00:00
parent 89b1aba64b
commit 81895b4b5d
1 changed files with 3 additions and 1 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: x86emu.c,v 1.6 2009/02/03 19:14:52 joerg Exp $ */
/* $NetBSD: x86emu.c,v 1.7 2009/02/03 19:26:29 joerg Exp $ */
/****************************************************************************
*
@ -243,6 +243,8 @@ X86EMU_exec(struct X86EMU *emu)
x86emu_intr_handle(emu);
}
}
if (emu->x86.R_CS == 0 && emu->x86.R_IP == 0)
return;
X86EMU_exec_one_byte(emu);
++emu->cur_cycles;
}