summaryrefslogtreecommitdiff
path: root/arch/i386/include/kernel/asm.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-01-12PROJECT RESTRUCTURINGDanny Holman1-158/+0
Move the entire kernel into its own directory. Create new directories for system commands, libraries and other required essentials for a complete Unix-like operating system. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-06-25kernel: interrupt: create a generic interrupt APIDanny Holman1-1/+3
Create a generic interface for drivers to make use of interrupt vectors. This API should be platform-agnostic enough to allow any driver to make use of virtually any interrupt vector on any CPU. On x86, the first 32 interrupts are set aside for CPU exceptions, and interrupt 128 is set aside for system calls. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-06-21arch: i386: paging: do the recursive paging trickDanny Holman1-8/+4
Map the page directory to the last page table. This allows the kernel to access every page table on the system from the address 0xFFC00000 plus an offset. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-05-29arch: i386: asm: make flush_gdt availableDanny Holman1-0/+2
Make the declaration of flush_gdt available to files including asm.h. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-05-27arch: i386: add a spinlock implementationDanny Holman1-7/+44
Add two functions to control thread-local spinlocks. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-03-28arch: i386: kernel: add mostly finished PFA and paging systemDanny Holman1-3/+21
Add the mostly finished physical memory allocator and expose its functions to the paging system. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-24arch: i386: cleanup everything and reorganizeDanny Holman1-0/+84
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>
2024-02-16arch: i386: move raw assembly calls to their own headerDanny Holman1-0/+19
Move simple assembly calls to their own header. All one or two line assembly calls should be defined in a single place. Signed-off-by: Danny Holman <dholman@gymli.org>