aboutsummaryrefslogtreecommitdiff
path: root/sys/include
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-12kernel: Add initial support for signalsIan Moffett
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: 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-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: 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-17kernel: exec: Save program state within threadIan 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: Fix TRAPENTRY %CS offsetIan 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: 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-12kernel: devfs: Add missing includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-12kernel: nvme: Setup I/O queues and namespacesIan 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: vfs: Implement mountpoint namingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-11kernel/amd64: pci: Add support for PCI MSI-XIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-11kernel/amd64: bus: Move MMIO_OFFSET to bus.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-10kernel: nvme: Improve nvme_identify()Ian Moffett
Require an NSID and CNS value to be passed to the nvme_identify() function. This enables the caller to control what type of data is returned by the NVMe controller. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-10kernel/amd64: reboot: Halt all with REBOOT_HALTIan Moffett
This commit changes how reboot() handles REBOOT_HALT. Now instead of one core being halted, all cores will be halted through an IPI to a halt vector. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-10kernel: nvme: Add initial NVMe driver codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-10kernel: vm: Add dynalloc_memalign()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel: Add sys/driver.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel/amd64: pci: Add function to map BARsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel/amd64: bus: Add bus abstraction layerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel/amd64: Add function to set cache policyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel: cons: Improve char handling and add cursorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel: pci: Add PCI device lookupsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-07-09kernel: Add PCI driverIan 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/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-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-01kernel: exec: Add execve()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>