 |
Xyris
0.5
|
Go to the documentation of this file.
73 for (
int exception = 0; exception < 32; exception++) {
void(* InterruptHandler_t)(struct registers *)
void interruptHandler(struct registers *regs)
CPU interrupt handler. Must be available for each interrupt stub to be able to call.
void init()
Calls the lidt instruction and installs the IDT onto the CPU.
A structure definining values for all x86 registers. Cannot be namespaced due to C linkage and ASM in...
void registerHandler(uint8_t interrupt, InterruptHandler_t handler)
Architecture control and initialization.
void(* interruptHandlerStubs[ARCH_INTERRUPT_NUM])(void)
#define ARCH_INTERRUPT_NUM
#define ARCH_EXCEPTION_NUM
void setGate(int n, uint32_t handler_addr)
Sets the handler function (via address) for a specific IDT.
void writeByte(uint16_t port, uint8_t data)
Writes a byte (8 bits) to the CPU bus at a given port address.
Interrupt Descriptor Table header.
void panic(const char *msg)
Halt the system and print the provided message on the panic screen.
Interrupt Service Routine header.
void(* exceptionHandlerStubs[ARCH_EXCEPTION_NUM])(void)
Interrupt/Exception stub functions and handlers.
InterruptHandler_t interruptHandlers[256]
void exceptionHandler(struct registers *regs)
CPU exception handler. Must be available for each exception stub to be able to call.