summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
4 dayskernel: ahci: Clean up includesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daystools: contrib: Sort by most changes (++/--)Ian 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 daystools: Add script to list contributorsIan 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 daysshare: man: Add mmio(9)Ian 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 daysdocs: Add contrib guideIan 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 daysMerge branch 'main' into exptIan Moffett
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 daysproject: Hyra Release v1.3Ian Moffett
What's new? - Add new defines in sys/cdefs.h. - Clean up Kernel synchronization API (sys/kern/kern_synch.c). - Added queue(3) and tree(3) to the man page directory. - Added extra security measures around interrupt entry code to prevent potentially nasty speculative execution issues (see commit 817d1ad). - Default to Clang/LLVM during builds. - Significant console optimizations (see commit d8fd1be) - Significant boot latency reductions due to PCI bus scan optimizations (see commit e7cf7a9) 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>
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 daysproject: Hyra Release v1.3Ian Moffett
What's new? - Add new defines in sys/cdefs.h. - Clean up Kernel synchronization API (sys/kern/kern_synch.c). - Added queue(3) and tree(3) to the man page directory. - Added extra security measures around interrupt entry. code to prevent potentially nasty speculative execution issues (see commit 817d1ad). - Default to Clang/LLVM during builds. - Significant console optimizations (see commit d8fd1be) - Significant boot latency reductions due to PCI bus scan optimizations (see commit e7cf7a9) 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
From 30decd3a8ace08e46bf0176648c82c2162ada81a Mon Sep 17 00:00:00 2001 From: Quinn Stephens <quinn@osmora.org> Date: Fri, 14 Feb 2025 23:43:58 -0500 Subject: [PATCH] kernel: amd64: Add more defines to UART driver 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
From fe1beed19be88e0c43ff2a68994d6abc04a52f54 Mon Sep 17 00:00:00 2001 From: Quinn Stephens <quinn@osmora.org> Date: Fri, 14 Feb 2025 23:30:03 -0500 Subject: [PATCH] kernel: pci: Optimize PCI bus scanning 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
From c7130585ba891d7049d274331783ecc62a15bca3 Mon Sep 17 00:00:00 2001 From: Quinn Stephens <quinn@osmora.org> Date: Fri, 14 Feb 2025 21:18:34 -0500 Subject: [PATCH] kernel: cons: Optimize console drawing 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>
9 daysbuild: Add Clang/LLVM toolchain supportQuinn Stephens
Added support for building with Clang/LLVM and made it the default since building a cross-compiling toolchain with GCC is generally less efficient. In `configure.ac`, `TOOLCHAIN` must be set to `clang` or `gcc`. 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>
2025-01-03libc: unistd: Add __BEGIN_DECLS/__END_DECLSIan 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-16docs: man: Add dcdr(9)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-16docs: man: Add panic(9)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-12-16docs: man: Add spinlock(9)Ian 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-16docs: man: Add queue(3) and tree(3)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>