--- np2/i386c/ia32/exception.c 2011/12/21 18:07:57 1.30 +++ np2/i386c/ia32/exception.c 2011/12/29 13:32:12 1.32 @@ -61,7 +61,7 @@ static const int dftable[4][4] = { { 1, 1, 1, 1, }, }; -void +void CPUCALL exception(int num, int error_code) { int errorp = 0; @@ -74,7 +74,7 @@ exception(int num, int error_code) #endif VERBOSE(("exception: -------------------------------------------------------------- start")); - VERBOSE(("exception: %s, error_code = %x at %04x:%08x", exception_str[num], error_code, CPU_CS, CPU_PREV_EIP)); + VERBOSE(("exception: %s, error_code = %x at %04x:%08x, %04x:%08x", exception_str[num], error_code, CPU_CS, CPU_PREV_EIP, CPU_SS, CPU_ESP)); VERBOSE(("%s", cpu_reg2str())); CPU_STAT_EXCEPTION_COUNTER_INC(); @@ -204,10 +204,10 @@ exception(int num, int error_code) * D : ゲートのサイズ.0 = 16 bit, 1 = 32 bit */ -static void interrupt_task_gate(const descriptor_t *gsdp, int intrtype, int errorp, int error_code); -static void interrupt_intr_or_trap(const descriptor_t *gsdp, int intrtype, int errorp, int error_code); +static void CPUCALL interrupt_task_gate(const descriptor_t *gsdp, int intrtype, int errorp, int error_code); +static void CPUCALL interrupt_intr_or_trap(const descriptor_t *gsdp, int intrtype, int errorp, int error_code); -void +void CPUCALL interrupt(int num, int intrtype, int errorp, int error_code) { descriptor_t gsd; @@ -337,7 +337,7 @@ interrupt(int num, int intrtype, int err CPU_CLEAR_PREV_ESP(); } -static void +static void CPUCALL interrupt_task_gate(const descriptor_t *gsdp, int intrtype, int errorp, int error_code) { selector_t task_sel; @@ -388,7 +388,7 @@ interrupt_task_gate(const descriptor_t * } } -static void +static void CPUCALL interrupt_intr_or_trap(const descriptor_t *gsdp, int intrtype, int errorp, int error_code) { selector_t cs_sel, ss_sel;