summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
36 hourskernel: devfs: Add support for write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskernel: vfs: Add support for write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourslibc: Add __stack_chk_fail() stubIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daystools: Add hwdoc scriptIan Moffett
Add script to fetch hardware documentation/manuals from the OSMORA OCS. Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysproject: Hyra Release v1.4Ian Moffett
What's new? - Kernel bug fixes and optimizations - Add new "contrib" script in tools/ - New bus resource interface in Hyra bus framework - ISA/LPC i8237 groundwork - Add pci_conf(9) - Improve kernel logging style - Add Peripheral Description Notation (see share/misc/pdn) Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysshare: pdn: Add titleIan 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 daysdocs: man: Add pci_conf(9)Ian Moffett
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 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>