summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
4 dayskernel: ahci: Map ABAR and perform HBA resetCaelus
Signed-off-by: Ian Moffett <ian@osmora.org> Signed-off-by: Caelus <neptune@osmora.org>
5 dayskernel: ahci: Add necessary AHCI related headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: ahci: Add initial skeletonIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: param: Add bit MASK() macroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysproject: Update copyright date to 2025Ian Moffett
Was supposed to happen on Jan 1, sorry! Happy late new year! Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel/amd64: i8254: freq_hz -> divisorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: signal: No need to compare ksig_listIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel/amd64: lapic: Get rid of unused functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel/amd64: uart: Fix newline errorsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: amd64: Add more defines to UART driverQuinn Stephens
Added more defines and comments to the UART driver, based on the 16550 chip datasheet, to make it more clear how each operation works. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: pci: Optimize PCI bus scanningQuinn Stephens
Uses recursive bus/bridge scanning, skips nonexistent devices, and only scans for multiple functions on multifunction devices. This may result in PCI scanning being up to 100x as fast. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskernel: cons: Optimize console drawingQuinn Stephens
Prevents the cursor from being cleared right before a character is drawn or right after the screen is cleared. Also optimized the cursor drawing routine to just draw a rectangle instead of rendering a space character. Additionally renamed `cons_render_char()` to `cons_draw_char()` and fixed all characters being drawn one pixel too far to the right. Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-27kernel/amd64: pci: Add missing includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-27kernel: pci: Add missing pci_msix_eoi() prototypeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-27kernel: param: Add IN_RANGE macroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-27kernel/amd64: pci: Add PCI MSI-X EOI wrapperIan Moffett
Add machine-independent PCI MSI-X EOI wrapper to Local APIC EOI function Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-08kernel: xhci: Add TRB definitionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-08kernel: xhci: Add xHC interrupt managementIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-08kernel: xhci: Ensure command ring is zeroedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-01-08kernel: xhci: Fixup naming and enable interrupterIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel/amd64: proc: Protect SWAPGS with LFENCEIan Moffett
Ensure all loads preceding SWAPGS are serialized using LFENCE. This mitigates the possibility of SWAPGS being speculatively bypassed which would lead to security issues. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel/amd64: backtrace() -> md_backtrace()Ian Moffett
Maintain naming consistency between public machine-dependent and machine-independent functions. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel: xhci: Add initial xhci/usb3 driver implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel: param: Add ptr helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel/amd64: Add panic backtraceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-20kernel: cdefs: Add __weak macroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-17kernel/amd64: pci: Allow mapping of 64 bit BARsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-16kernel: synch: Move spinlock_usleep()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: 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>
2024-12-15kernel: synch: kern_lock.c -> kern_synch.cIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: synch: Add spinlock with timeoutIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: lib: Add atoi()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: Add __nothing def to cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: Add __unused attribute to cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: Add offsetof in cdefs.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-15kernel: 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>