Release v0.23-beta.6: PCI Bus Enumeration and Hardware Discovery
·
125 commits
to main
since this release
π Release Notes - NovumOS v0.23-beta.6
Date: February 12, 2026
Version: v0.23-beta.6
π Highlights - The Hardware Discovery Update
This milestone transitions NovumOS from an isolated kernel into a system capable of exploring and identifying the hardware environment. The core introduction of PCI Bus Enumeration lays the essential foundation for future driver development for network cards, display adapters, and sound controllers.
π PCI Bus Enumeration & Discovery
- Hardware Scanner: Implemented a full PCI bus scanning mechanism. The system now iterates through all 256 buses, 32 slots, and up to 8 functions per device to locate all active hardware.
- Vendor & Device Database: Integrated an identification database for common vendors (Intel, AMD, VMware, Realtek, Virtio, and QEMU). NovumOS now recognizes chipsets, IDE controllers, and NICs by name.
- Class Identification: Added logic to decode device class codes, allowing the system to distinguish between Bridges, Storage Controllers, Network Interfaces, and Display Controllers.
ποΈ Kernel & System Call Enhancements
- 32-bit I/O Primitives: Introduced
inlandoutlfunctions for double-word (32-bit) port I/O. This is critical for accessing PCI Configuration Space and modern registers. - Extended Syscall Interface: Expanded the
int 0x80interface (Syscalls 16 & 17) to support 32-bit I/O operations. This enables future Ring 3 applications to interact with hardware directly via the kernel. - Safe Register Passing: Refactored the syscall handler in user.zig to ensure stable transmission of 32-bit arguments between CPU registers and the Zig kernel modules.
π Shell & User Experience
- New
lspciCommand: Added a powerful utility to list detected hardware. The output follows the classic format:Bus:Slot.Func Vendor:Device Class Description. - Intelligent Autocomplete: The
lspcicommand is fully integrated into the Shell's Tab-completion engine for seamless navigation. - Enhanced Hex Formatting: Implemented a specialized hex-printing logic with variable bit-depth (4, 8, or 16-bit) specifically tailored for hardware reporting.
π Infrastructure
- System-wide Versioning: Officially updated all system constants and the Nova Interpreter to version
0.23-beta.6. - PCI Driver Library: Established the drivers/pci.zig module as the central hub for all future hardware-specific drivers.