23 lines
589 B
C
23 lines
589 B
C
#pragma once
|
|
#include "stdarg.h"
|
|
|
|
|
|
// c.f. intel software-developer-vol-1 6.4.1
|
|
struct interrupt_frame {
|
|
uint32_t eip;
|
|
uint32_t cs;
|
|
uint32_t eflags;
|
|
uint32_t esp;
|
|
uint32_t ss;
|
|
};
|
|
|
|
// Exception
|
|
void print_handler(struct interrupt_frame *frame, ulong error_code);
|
|
void pagefault_handler(struct interrupt_frame *frame, ulong error_code);
|
|
|
|
// IRQ
|
|
void pit_handler(struct interrupt_frame *frame);
|
|
void keyboard_handler(struct interrupt_frame *frame);
|
|
void timer_handler(struct interrupt_frame *frame);
|
|
void serial_handler(struct interrupt_frame *frame);
|