/*
* GeekOS interrupt handling data structures and functions
* Copyright (c) 2001,2003 David H. Hovemeyer <daveho@cs.umd.edu>
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
* This is free software. You are permitted to use,
* redistribute, and modify it as specified in the file "COPYING".
Print("Unexpected Interrupt! Ignoring!\n");
SerialPrint("*** Unexpected interrupt! *** Ignoring!\n");
Dump_Interrupt_State(state);
- SerialPrint_VMCS_ALL();
+ // SerialPrint_VMCS_ALL();
End_IRQ(state);
-
- // STOP();
+
+ //STOP();
}
#if 0
Install_Interrupt_Handler(i, Dummy_Interrupt_Handler);
}
+ /* JRL */
+ // Disable_IRQ(7);
+ /* ** */
+
/* Re-enable interrupts */
Enable_Interrupts();
}
{
uint_t errorCode = state->errorCode;
- SerialPrint("eax=%08x ebx=%08x ecx=%08x edx=%08x\n"
+ Print("eax=%08x ebx=%08x ecx=%08x edx=%08x\n"
"esi=%08x edi=%08x ebp=%08x\n"
"eip=%08x cs=%08x eflags=%08x\n"
"Interrupt number=%d (%s), error code=%d\n"
state->intNum, exception_names[state->intNum], errorCode,
errorCode >> 3, (errorCode >> 2) & 1, (errorCode >> 1) & 1, errorCode & 1
);
+
+
if (Is_User_Interrupt(state)) {
struct User_Interrupt_State *ustate = (struct User_Interrupt_State*) state;
SerialPrint("user esp=%08x, user ss=%08x\n", ustate->espUser, ustate->ssUser);
SerialPrint_Selector("es", state->es);
SerialPrint_Selector("fs", state->fs);
SerialPrint_Selector("gs", state->gs);
+
+
+
}