summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
8 dayskernel: Add tree.h and tree_subr.c portIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-07kernel: vcache: Add impl of "local" vcachesIan Moffett
This commit implements local vcaches and lazy vcache migration (LZVM) for on the fly vcache type switching. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-07kernel: vcache: Improve vcache add/pull interfaceIan Moffett
Require internal add/pull routines to be passed a pointer to the vcache to be operated on. This makes it easier to support for per-process vcaches and LZVM. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-13kernel: vfs: Recycle vnodes before allocatingIan Moffett
This commit makes changes to how vnodes are allocated and released. When we want to allocate a new vnode, we check if there is something we can recycle before calling dynalloc(). Instead of calling dynfree() on a vnode, enter it into the vnode cache. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-13kernel: sysctl: Fix handling of oldlenpIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-13kernel: vfs: Add vnode cache implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-13kernel: sysctl: Make sysctl(2) more flexibleIan Moffett
This commit makes various changes such as updating how readonly and writable entries are stored and how entry lookups are made to improve flexibility. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-12kernel: sysctl: Make kern.* entries readonlyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-12kernel: syscall: Add SYS_sysctl syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-11kernel: sysctl: Add initial sysctl implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-04kernel: descrip: Add support for fd duplicationIan Moffett
Sometimes we may need to duplicate a file descriptor and create a new fdno that refers to the same vnode. The fd_dup() function enables us to do this when needed. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-11-04kernel: descrip: Only use copyinstr() in SYS_openIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-10-29kernel: syscall: Add SYS_statIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-09-09kernel: vfs: Refactor fd related codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-08-21kernel: vfs: Add sys_close()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-08-21kernel: Add ref count to filedescIan Moffett
Keep track of how many threads are currently using the file descriptor. This will be useful when fork() is implemented. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-08-12kernel: Remove extra newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-08-12kernel: Add initial support for signalsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-24kernel: device: Add read/write stubsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22kernel: sched: Implement MLFQAptRock327
Implements the Multilevel Feedback Queue scheduling algorithm. Signed-off-by: AptRock327 <dominik032009@gmail.com> Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22kernel: vfs_syscalls: Add sys_read()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22kernel: vfs_syscalls: Remove unused varsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22kernel: vfs_syscalls: Add sys_open()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-18kernel: exit: Drop loadmap entries with bad rangeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-18kernel: Add copyin() and copyout()Ian Moffett
Add copyin() and copyout() for copying from userspace to kernel space and vice versa. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-18kernel: elf: Keep track of program start and endIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-18kernel: elf: Fix loadmap indexingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-17kernel: exit: Unload thread in exit1()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-17kernel: exec: Save program state within threadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-17kernel: Call sched_enter() instead of cpu_reboot()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-16kernel: exec: Save base vaddr in exec_rangeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-15kernel: fork: Pre-increment nthreadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-12kernel: Add support for devfsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-12kernel: Add device layerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-11kernel: namei: Allow lookups farther than '/'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-11kernel: vfs: Implement mountpoint namingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-10kernel: Init driversIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel: Call vm_init() before acpi_init()Ian 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-04kernel: init_main: Startup PID 1Ian 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: 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-01kernel: exec: Add execve()Ian Moffett
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-29kernel: elf: Cleanup error handlingIan 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>