summaryrefslogtreecommitdiff
path: root/arch/i386/boot/boot.s (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arch: i386: pass entry page directory to entry funcDanny Holman2024-05-271-3/+2
| | | | | | | | Add a third argument to i386_entry. This argument is the bootstrap page directory. Pages can be temporarily mapped in during the initialization of the paging system. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: kernel: add mostly finished PFA and paging systemDanny Holman2024-03-281-7/+11
| | | | | | | Add the mostly finished physical memory allocator and expose its functions to the paging system. Signed-off-by: Danny Holman <dholman@gymli.org>
* kernel: string: add a strcpy functionDanny Holman2024-02-241-10/+6
| | | | | | | Add an implmentation of strcpy. This function is used in several places in the kernel to copy strings between memory addresses. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: move jump_userspace to its own fileDanny Holman2024-02-241-18/+1
| | | | | | Move the function that jumps to ring 3 to its own assembly file. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: move raw assembly calls to their own headerDanny Holman2024-02-161-13/+0
| | | | | | | 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>
* arch: i386: boot.s: define functions for page managementDanny Holman2023-11-261-0/+27
| | | | | | | | Define the load_page_dir and enable_paging functions in assembly. This allows normal C code to initialize the CR3 register and control paging without using inline assembler. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: boot.s: move C entry point to fileDanny Holman2023-11-261-10/+3
| | | | | | | Move the initial C entry-point to its own file. Call all the i386 specific initialization routines from the new i386_entry function. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: boot: boot.sDanny Holman2023-11-261-8/+4
| | | | | | Fix several small bugs in assembler. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: add support for IRQs and system callsDanny Holman2022-01-151-0/+4
| | | | | | Add support for rudementary system calls and IRQ interrupts. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: simplifiy GDT setupDanny Holman2022-01-151-5/+33
| | | | | | Simplify the setup and definitions of GDT/TSS entries. Signed-off-by: Danny Holman <dholman@gymli.org>
* arch: i386: add support for 8259 PICDanny Holman2021-09-281-1/+2
| | | | | | Add support for the 8259 programmable interrupt controller. Signed-off-by: Danny Holman <dholman@gymli.xyz>
* i386: create idt.c and isr.sDanny Holman2021-08-301-1/+2
| | | | | | Create files that add IDT support for i386. Signed-off-by: Danny Holman <dholman@gymli.xyz>
* arch: i386: add GDT setup routinesDanny Holman2021-07-241-0/+18
| | | | | | Add a set of routines that setup the x86's global descriptor table. Signed-off-by: Danny Holman <dholman@gymli.xyz>
* arch: i386: move the kernel to high memoryDanny Holman2021-07-201-6/+49
| | | | | Move the start of the kernel image to the "higher half" of memory. This also enables paging.
* x86: reorganize the i386 directoryDanny Holman2021-01-241-0/+32
Add structure to the internals of the x86 directory. Signed-off-by: Danny Holman <dholman@gymli.xyz>