aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-24libc: Implement read()Ian 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-22libc: Add open()Ian 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-22build: Improve copying of headersIan Moffett
- Ensure headers are always copied - Ensure lib/libc/include/*.h are copied 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-18usr.sbin: Fix linker scriptIan Moffett
Fix issue with memory addresses of globals being zeroed 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-16kernel/amd64: trap: Set IPL_HIGH in trap_handler()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-16kernel/amd64: trap: Fix TRAPENTRY %CS offsetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-16kernel/amd64: mp: Lock only around cpu_startup()Ian 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-15kernel: proc: Add missing includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-14kernel: nvme: Sleep before status checkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-14kernel: nvme: Remove command error check for nowIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-14kernel: nvme: Use CAP.MQES for qsizeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-14kernel: nvme: Fix NVMe op definitionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-13kernel: nvme: Add nvme bdevsw + support for readsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-13kernel: dev: Support bdevswIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-13kernel: devfs: Allocate buffer for name fieldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-13kernel: nvme: Set bar field in nvme_ctrl structureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-12kernel: nvme: Init namespaces TAILQIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-12kernel: nvme: Remove useless checkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>