static volatile uint64_t ticks;
static void
-irq20_timer (struct intr_args *args UNUSED)
+irq20_timer (struct intr_frame *args UNUSED)
{
ticks++;
intr_yield_on_return ();
intr_handler_func *intr_handlers[256];
-void intr_handler (struct intr_args *args);
+void intr_handler (struct intr_frame *args);
bool intr_in_progress;
bool yield_on_return;
void
-intr_handler (struct intr_args *args)
+intr_handler (struct intr_frame *args)
{
bool external;
}
void
-intr_unexpected (struct intr_args *regs)
+intr_unexpected (struct intr_frame *regs)
{
uint32_t cr2;
asm ("movl %%cr2, %0" : "=r" (cr2));
- panic ("Unexpected interrupt 0x%02x, error code %08x, cr2=%08x, eip=%08x",
- regs->vec_no, regs->error_code, cr2, regs->eip);
+ panic ("Unexpected interrupt 0x%02x, error code %08x, cr2=%08x, eip=%p",
+ regs->vec_no, regs->error_code, cr2, (void *) regs->eip);
}
enum if_level intr_enable (void);
enum if_level intr_disable (void);
\f
-struct intr_args
+struct intr_frame
{
/* Pushed by the stubs. */
uint32_t edi;
uint16_t ss, :16;
};
-typedef void intr_handler_func (struct intr_args *);
+typedef void intr_handler_func (struct intr_frame *);
void intr_init (void);
void intr_register (uint8_t vec, int dpl, enum if_level, intr_handler_func *);