aboutsummaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
9 dayskernel: synch: Move spinlock_usleep()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: vm: Add objects, page struct and pagersIan Moffett
This commit expands the virtual memory subsystem by providing the initial implementation of virtual memory objects, pager descriptors and pagers. This change currently implemenents a minimal vnode pager. Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: synch: kern_lock.c -> kern_synch.cIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: synch: Add spinlock with timeoutIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: lib: Add atoi()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: Add __nothing def to cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: Add __unused attribute to cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: Add offsetof in cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 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>