-
Notifications
You must be signed in to change notification settings - Fork 1
HalInstallInterruptHandler
This function generates and installs an IDT descriptor
status HalInstallInterruptHandler(dword interruptNumber,
idtflags idtFlags,
word selector,
interrupt_handler_function handler
);
interruptNumber
The number of the interrupt handled (eg. if this is set to 10, the handler to "int 10" would be installed)
idtFlags
The descriptor's flags (see HalGenerateIDTDesc)
selector
Selector to use when processing the interrupt. Must be a code selector
handler
The base address of the function called to handle the interrupt. The function must have a void
return types, no parameters and must end with "iret" instead of "ret"
This function returns a SOARE Status code. A zero return value means the function was successful while a nonzero return value indicates the function failed
You can only install 1 handler for each interrupt, meaning that if you try to install a handler to an interrupt that is already handled, the old handler will be replaced with the new one
Roadmap:
- Stage 1 FAT12 bootloader
- Stage 2 bootloader (SOARELDR)
- Hardware Abstraction Layer
- GDT and IDT abstraction
- Memory manager
- Disk IO
- PE Loader
- Convert HAL to be a module
- Keyboard IO