summaryrefslogtreecommitdiff
path: root/sys
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-10-29kernel: types: Add more POSIX typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-10-29kernel: types: Move dev_t to sys/types.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-10-27kernel: syscall: Fix brace formattingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-10-27kernel/amd64: acpi: Remove trailing newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-10-27kernel: devfs: Add getattr vop for device filesIan 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-09-03kernel: dev: Introduce DCDR frameworkIan Moffett
Added the Drive Cache Descriptor Ring (DCDR) framework to manage the caching of logical blocks for LBA-based storage mediums. This commit implements core components including data structures for Drive Cache Descriptors (DCDs) and Drive Cache Descriptor Rings (DCDRs). Other implemented features include: - DCD eviction policy based on least hit count - DCD invalidation - DCD lookups - Support for logical block coalescing 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-16kernel/amd64: trap: Handle user trapsIan Moffett
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-08-12kernel/amd64: proc: Set curtd upon thread kickIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-29kernel/amd64: Don't try IPIs with null cpu_infoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-29kernel/amd64: cpu: Write cpu_info to IA32_GS_BASEIan Moffett
Instead of writing cpu_info to IA32_KERNEL_GS_BASE then using SWAPGS, write the cpu_info pointer directly to IA32_GS_BASE Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-29kernel/amd64: msr: Add IA32_GS_BASE MSR defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-29kernel/amd64: Use only defines + handle err codesIan Moffett
- Use only defines in frame.h - Improve handling of trap error codes Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-29kernel/amd64: Facilitate IA32_FS_BASE reads/writesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-24kernel: nvme: Set write op to nowriteIan 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-24kernel: device: Add write operationIan 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-22sysheaders: limits: Add SSIZE_MAXIan 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-22sysheaders: Add sys/fcntl.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22sysheaders: Add sys/limits.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-22sysheaders: cdefs: Add __BEGIN_DECLS/__END_DECLSIan 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>