MicrOS
idt.h File Reference

Go to the source code of this file.

Macros

#define IDT_INTERRUPT_DESCRIPTOR_TABLE_LENGTH   64
 
#define IDT_MAX_INTERRUPT_HANDLERS   64
 

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)
 
void idt_software_interrupt_handler ()
 
bool idt_syscalls_interrupt_handler (interrupt_state *state)
 
uint32_t idt_exc0 ()
 
uint32_t idt_exc1 ()
 
uint32_t idt_exc2 ()
 
uint32_t idt_exc3 ()
 
uint32_t idt_exc4 ()
 
uint32_t idt_exc5 ()
 
uint32_t idt_exc6 ()
 
uint32_t idt_exc7 ()
 
uint32_t idt_exc8 ()
 
uint32_t idt_exc9 ()
 
uint32_t idt_exc10 ()
 
uint32_t idt_exc11 ()
 
uint32_t idt_exc12 ()
 
uint32_t idt_exc13 ()
 
uint32_t idt_exc14 ()
 
uint32_t idt_exc15 ()
 
uint32_t idt_exc16 ()
 
uint32_t idt_exc17 ()
 
uint32_t idt_exc18 ()
 
uint32_t idt_exc19 ()
 
uint32_t idt_exc20 ()
 
uint32_t idt_exc21 ()
 
uint32_t idt_exc22 ()
 
uint32_t idt_exc23 ()
 
uint32_t idt_exc24 ()
 
uint32_t idt_exc25 ()
 
uint32_t idt_exc26 ()
 
uint32_t idt_exc27 ()
 
uint32_t idt_exc28 ()
 
uint32_t idt_exc29 ()
 
uint32_t idt_exc30 ()
 
uint32_t idt_exc31 ()
 
uint32_t idt_int32 ()
 
uint32_t idt_int33 ()
 
uint32_t idt_int34 ()
 
uint32_t idt_int35 ()
 
uint32_t idt_int36 ()
 
uint32_t idt_int37 ()
 
uint32_t idt_int38 ()
 
uint32_t idt_int39 ()
 
uint32_t idt_int40 ()
 
uint32_t idt_int41 ()
 
uint32_t idt_int42 ()
 
uint32_t idt_int43 ()
 
uint32_t idt_int44 ()
 
uint32_t idt_int45 ()
 
uint32_t idt_int46 ()
 
uint32_t idt_int47 ()
 
uint32_t idt_int50 ()
 

Macro Definition Documentation

◆ IDT_INTERRUPT_DESCRIPTOR_TABLE_LENGTH

#define IDT_INTERRUPT_DESCRIPTOR_TABLE_LENGTH   64

◆ IDT_MAX_INTERRUPT_HANDLERS

#define IDT_MAX_INTERRUPT_HANDLERS   64

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_exc0()

uint32_t idt_exc0 ( )

◆ idt_exc1()

uint32_t idt_exc1 ( )

◆ idt_exc10()

uint32_t idt_exc10 ( )

◆ idt_exc11()

uint32_t idt_exc11 ( )

◆ idt_exc12()

uint32_t idt_exc12 ( )

◆ idt_exc13()

uint32_t idt_exc13 ( )

◆ idt_exc14()

uint32_t idt_exc14 ( )

◆ idt_exc15()

uint32_t idt_exc15 ( )

◆ idt_exc16()

uint32_t idt_exc16 ( )

◆ idt_exc17()

uint32_t idt_exc17 ( )

◆ idt_exc18()

uint32_t idt_exc18 ( )

◆ idt_exc19()

uint32_t idt_exc19 ( )

◆ idt_exc2()

uint32_t idt_exc2 ( )

◆ idt_exc20()

uint32_t idt_exc20 ( )

◆ idt_exc21()

uint32_t idt_exc21 ( )

◆ idt_exc22()

uint32_t idt_exc22 ( )

◆ idt_exc23()

uint32_t idt_exc23 ( )

◆ idt_exc24()

uint32_t idt_exc24 ( )

◆ idt_exc25()

uint32_t idt_exc25 ( )

◆ idt_exc26()

uint32_t idt_exc26 ( )

◆ idt_exc27()

uint32_t idt_exc27 ( )

◆ idt_exc28()

uint32_t idt_exc28 ( )

◆ idt_exc29()

uint32_t idt_exc29 ( )

◆ idt_exc3()

uint32_t idt_exc3 ( )

◆ idt_exc30()

uint32_t idt_exc30 ( )

◆ idt_exc31()

uint32_t idt_exc31 ( )

◆ idt_exc4()

uint32_t idt_exc4 ( )

◆ idt_exc5()

uint32_t idt_exc5 ( )

◆ idt_exc6()

uint32_t idt_exc6 ( )

◆ idt_exc7()

uint32_t idt_exc7 ( )

◆ idt_exc8()

uint32_t idt_exc8 ( )

◆ idt_exc9()

uint32_t idt_exc9 ( )

◆ 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_int32()

uint32_t idt_int32 ( )

◆ idt_int33()

uint32_t idt_int33 ( )

◆ idt_int34()

uint32_t idt_int34 ( )

◆ idt_int35()

uint32_t idt_int35 ( )

◆ idt_int36()

uint32_t idt_int36 ( )

◆ idt_int37()

uint32_t idt_int37 ( )

◆ idt_int38()

uint32_t idt_int38 ( )

◆ idt_int39()

uint32_t idt_int39 ( )

◆ idt_int40()

uint32_t idt_int40 ( )

◆ idt_int41()

uint32_t idt_int41 ( )

◆ idt_int42()

uint32_t idt_int42 ( )

◆ idt_int43()

uint32_t idt_int43 ( )

◆ idt_int44()

uint32_t idt_int44 ( )

◆ idt_int45()

uint32_t idt_int45 ( )

◆ idt_int46()

uint32_t idt_int46 ( )

◆ idt_int47()

uint32_t idt_int47 ( )

◆ idt_int50()

uint32_t idt_int50 ( )

◆ idt_set()

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

◆ idt_software_interrupt_handler()

void idt_software_interrupt_handler ( )

◆ idt_syscalls_interrupt_handler()

bool idt_syscalls_interrupt_handler ( interrupt_state state)

◆ idt_unset()

void idt_unset ( uint8_t  index)