--- np2/i386c/ia32/interface.c 2004/03/25 08:51:24 1.20 +++ np2/i386c/ia32/interface.c 2005/02/08 09:57:26 1.22 @@ -1,4 +1,4 @@ -/* $Id: interface.c,v 1.20 2004/03/25 08:51:24 yui Exp $ */ +/* $Id: interface.c,v 1.22 2005/02/08 09:57:26 yui Exp $ */ /* * Copyright (c) 2002-2003 NONAKA Kimihiro @@ -33,7 +33,7 @@ #include "pccore.h" #include "iocore.h" -#include "dmap.h" +#include "dmax86.h" #include "bios.h" #if defined(IA32_REBOOT_ON_PANIC) #include "pccore.h" @@ -131,7 +131,7 @@ ia32(void) do { exec_1step(); if (dmac.working) { - dmap(); + dmax86(); } } while (CPU_REMCLOCK > 0); #else @@ -142,12 +142,12 @@ ia32(void) CPU_DR6 |= CPU_DR6_BS; INTERRUPT(1, TRUE, FALSE, 0); } - dmap(); + dmax86(); } while (CPU_REMCLOCK > 0); } else if (dmac.working) { do { exec_1step(); - dmap(); + dmax86(); } while (CPU_REMCLOCK > 0); } else { do { @@ -189,7 +189,7 @@ ia32_step(void) } #endif if (dmac.working) { - dmap(); + dmax86(); } } while (CPU_REMCLOCK > 0); } @@ -281,7 +281,9 @@ ia32_bioscall(void) adrs = (CPU_EIP - 1) + CPU_STAT_CS_BASE; #endif if ((adrs >= 0xf8000) && (adrs < 0x100000)) { - biosfunc(adrs); + if (biosfunc(adrs)) { + CPU_PREFETCH_CLEAR(); + } if (!CPU_STAT_PM || CPU_STAT_VM86) { CPU_SET_SEGREG(CPU_ES_INDEX, CPU_ES); CPU_SET_SEGREG(CPU_CS_INDEX, CPU_CS);