MicrOS
idt.c File Reference
#include "idt.h"

Functions

void idt_init ()
 
void idt_set (uint8_t index, uint32_t(*handler)(interrupt_state *state), bool user_interrupt)
 
void idt_unset (uint8_t index)
 
void idt_attach_interrupt_handler (uint8_t interrupt_number, bool(*handler)(interrupt_state *state))
 
void idt_detach_interrupt_handler (uint8_t interrupt_number, bool(*handler)(interrupt_state *state))
 
void idt_attach_exception_handler (uint8_t exception_number, void(*handler)(exception_state *state))
 
void idt_detach_exception_handler (uint8_t exception_number, void(*handler)(exception_state *state))
 
void idt_attach_process_manager (void(*handler)(interrupt_state *state))
 
void idt_attach_syscalls_manager (void(*handler)(interrupt_state *state))
 
void idt_global_int_handler (interrupt_state *state)
 
void idt_global_exc_handler (exception_state *state)
 
bool idt_syscalls_interrupt_handler (interrupt_state *state)
 

Variables

volatile idt_entry idt_entries [IDT_INTERRUPT_DESCRIPTOR_TABLE_LENGTH]
 
volatile idt_info idt_information
 
volatile interrupt_handler_definition interrupt_handlers [IDT_MAX_INTERRUPT_HANDLERS]
 
volatile exception_handler_definition exception_handlers [IDT_MAX_INTERRUPT_HANDLERS]
 
void(* process_manager_handler )(interrupt_state *state)
 
void(* syscalls_manager_handler )(interrupt_state *state)
 
exception_definition exceptions []
 

Function Documentation

◆ idt_attach_exception_handler()

void idt_attach_exception_handler ( uint8_t  exception_number,
void(*)(exception_state *state)  handler 
)

◆ idt_attach_interrupt_handler()

void idt_attach_interrupt_handler ( uint8_t  interrupt_number,
bool(*)(interrupt_state *state)  handler 
)

◆ idt_attach_process_manager()

void idt_attach_process_manager ( void(*)(interrupt_state *state)  handler)

◆ idt_attach_syscalls_manager()

void idt_attach_syscalls_manager ( void(*)(interrupt_state *state)  handler)

◆ idt_detach_exception_handler()

void idt_detach_exception_handler ( uint8_t  exception_number,
void(*)(exception_state *state)  handler 
)

◆ idt_detach_interrupt_handler()

void idt_detach_interrupt_handler ( uint8_t  interrupt_number,
bool(*)(interrupt_state *state)  handler 
)

◆ idt_global_exc_handler()

void idt_global_exc_handler ( exception_state state)

◆ idt_global_int_handler()

void idt_global_int_handler ( interrupt_state state)

◆ idt_init()

void idt_init ( )

◆ idt_set()

void idt_set ( uint8_t  index,
uint32_t(*)(interrupt_state *state)  handler,
bool  user_interrupt 
)

◆ idt_syscalls_interrupt_handler()

bool idt_syscalls_interrupt_handler ( interrupt_state state)

◆ idt_unset()

void idt_unset ( uint8_t  index)

Variable Documentation

◆ exception_handlers

◆ exceptions

exception_definition exceptions[]

◆ idt_entries

◆ idt_information

volatile idt_info idt_information

◆ interrupt_handlers

◆ process_manager_handler

void(* process_manager_handler) (interrupt_state *state)

◆ syscalls_manager_handler

void(* syscalls_manager_handler) (interrupt_state *state)