summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
25 hourskernel: Add POSIX termios.h headerexptIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourskernel: cons: Add lock around root consoleIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourskernel: dev: Add /dev/consoleIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourskernel: devfs: Add support for write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourskernel: vfs: Add support for write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskernel: Update kernel log styleIan Moffett
Kernel logs must now all be lowercase for consistency. A new style called Peripheral Description Notation (PDN) has also been introduced to describe devices. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: i8237: Use word register for modeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: i8237: Optimize set channel selectIan Moffett
There is no need for an intermediary register before setting %AL. This commit removes redundant instructions to reduce the amount of cycles used for this operation. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Ensure HBA is AHCI awareIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Improve reset logic + cleanupIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Add AHCI spinwait timeoutIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: __BIT() -> BIT()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel: ahci: Conform to OSMORA C styleIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: isa: Add initial i8237 driver implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel/amd64: bus: Add bus resource interfaceIan Moffett
This commit introduces a bus resource abstraction. A bus resource encapsulates bus specific information and semantics. Along with abstracting away bus specific details and providing an overall smoother interface, this additionally provides flexibility, access control and security by keeping track of permissions and allowing things to be turned on or off. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: ahci: Clean up includesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: ahci: Fix up styleIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
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>