aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-09kernel: Call vm_init() before acpi_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-07kernel: cons: Ensure fb_mem isn't NULLIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-07kernel/amd64: Add serial debug loggingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-06kernel/amd64: Add 8250 UART driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-04kernel: init_main: Startup PID 1Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-04usr: Add initial userlandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-04lib: Add initial libcIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-04kernel/amd64: Add syscall support + SYS_exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel/amd64: machdep: Fix mistake in commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel/amd64: proc: Fix typo in commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel: proc: Remove PROC_INEXEC flagIan Moffett
This commit removes handling of the PROC_INEXEC flag as md_td_kick() takes care of the transfer to user mode in a cleaner way. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel/amd64: Handle the user GS segment registerIan Moffett
This commit introduces usage of swapgs to switch out the GS register with the user GS register. An md_td_kick() function is also introduced to start up user threads. The this_cpu() function uses the GS register to read the current CPU structure using a new "self" field. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel/amd64: Add INTRENTRY() and TRAPENTRY()Ian Moffett
Add macros that perform certain operations before invoking the actual handler. This will be useful in the future for more complicated operations that need to be done before the handler is ran. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-02kernel/amd64: Add missing copyrightIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-01kernel: exec: Add execve()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-01kernel/amd64: proc: Add stack init func for execIan Moffett
Add stack initialization code for exec functions. This new code initializes values on the stack, including argc, argv, and the auxiliary vector. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-30kernel/amd64: proc: Add setregs()Ian Moffett
This function will be useful for things like exec in order to setup registers which are machine dependent. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-30kernel: sched: Add exit1()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-30kernel: sched: Mark sched_enter() as __deadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-30kernel: cdefs: Add __deadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-30kernel/amd64: pmap: Add pmap_destroy_vas()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel/amd64: lapic: Improve accuracy of commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel/amd64: lapic: Add support for IPIsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel: elf: Cleanup error handlingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel/amd64: proc: Update outdated commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel: elf: Fix memory leakIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-29kernel: elf: nd.vp -> vpIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel: fork: Ensure 'newproc' is zeroedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel: elf: Add ELF64 loaderIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel: Add sys/elf.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel: vfs: Add vnode refcountIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel: vfs: Don't destroy vnode if errorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel/amd64: Focus md_td_init() to fork MD codeIan Moffett
Rename md_td_init() to md_fork() and change up what it does to keep things as simple as possible. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel/amd64: Make splraise() return previous IPLIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-28kernel/amd64: Convert kernel stack base to vaddrIan Moffett
This fixes an issue where the TSS kernel stack base is a physical address instead of being a virtual address like it's supposed to. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25kernel: initramfs: Implement getattr vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25kernel: vfs: Add getattr vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25kernel: vfs: Keep style consistentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25kernel: initramfs: Fix dangling pointerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25kernel: sched: Remove "TODO" from sched_switch()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25build: Add 'cross' targetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-25build: /bin/sh -> bin/bashIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-24Add README.mdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-24Import hyra exptIan Moffett
2024-06-24Clean out for exptIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-23kernel: Init proc0Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-23kernel: Add fork1()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-23kernel/amd64: Add machdep thread init functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-23kernel: sched: Add PCB and context switchingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-06-23kernel/amd64: gdt: Add user CS/DS definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>