summaryrefslogtreecommitdiff
path: root/arch/i386/boot/idt.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arch: i386: cleanup everything and reorganizeDanny Holman2024-02-241-162/+0
| | | | | | | | | | Clean up everything in the i386 arch directory. This code has been in dire need of refactoring for a long while. All the inline assembly functions and the data structures related to the architecture should be placed into their own header file. Now the scheduler can access registers and ISRs without having to deal with arch-specific code. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: move IRQ functions to PIC driverDanny Holman2024-02-161-17/+26
| | | | | | | | Move all the functions that control IRQ lines to the PIC driver. This allows the IDT controller to handle only raw interrupts no matter where they come from. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: idt.c: install the ISR handlersDanny Holman2023-11-261-47/+62
| | | | | | Actually install the ISR handlers to the IDT. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: idt.c: remove the irq number from handlerDanny Holman2023-11-261-1/+2
| | | | | | | Remove the irq number from the irq handler. This information is already stored in the ISR frame structure. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: idt.c: call the page fault handlerDanny Holman2023-11-261-3/+1
| | | | | | | Call the page fault handler when a page fault occurs instead of just dumping the registers and halting. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: idt.c: add a stopgap to halt_catch_fireDanny Holman2023-11-261-0/+1
| | | | | | Add a infinite while loop just in case the "hlt" instruction fails. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: idt.c: remove unneeded define macrosDanny Holman2023-11-261-23/+1
| | | | | | | Remove several preprocessor macros that serve no purpose and pollute the source file. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: make serial_writestring inlineDanny Holman2022-03-221-14/+8
| | | | | | | | The serial_writestring function is small enough and platform-agnostic, and therefore it should be moved into the main serial header and marked as inline. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: add support for IRQs and system callsDanny Holman2022-01-151-1/+5
| | | | | | Add support for rudementary system calls and IRQ interrupts. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: simplify IDT setupDanny Holman2022-01-151-4/+100
| | | | | | Simplify the interrupt descriptor table setup and frame assembly. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: include more information in IDTDanny Holman2021-10-091-40/+40
| | | | | | Include information about the current stack frame in the IDT handler(s). Signed-off-by: Danny Holman <dholman@gymli.xyz>
* arch: i386: fix IDT exception handlerDanny Holman2021-09-281-33/+49
| | | | | | | Fix the i386's general exception handler to actually work. Fix provided by Jon Sanderson (jjs295356@gmail.com). Signed-off-by: Danny Holman <dholman@gymli.xyz>
* i386: create idt.c and isr.sDanny Holman2021-08-301-0/+50
Create files that add IDT support for i386. Signed-off-by: Danny Holman <dholman@gymli.xyz>