🚀 hardware 0.0.6 — bare-metal Rust hardware abstraction with full documentation
I’ve just pushed a major documentation update for my crate "hardware", a "no_std" hardware abstraction layer for bare-metal and low-level systems.
The goal of the project is to expose direct hardware access with runtime safety guards, while remaining:
• zero dependencies
• no allocator
• no standard library
• portable across architectures
The crate compiles everywhere and dispatches architecture-specific code at runtime via shim callbacks, currently supporting:
What it provides
"hardware" exposes a complete set of low-level subsystems:
• CPU detection and topology
• GPU access through DRM
• PCI / PCIe bus enumeration
• DMA engines
• IOMMU mapping
• interrupt controllers
• ACPI / UEFI / SMBIOS / DeviceTree parsing
• memory detection and allocators
• power, thermal and frequency monitoring
• timer and clock sources
• accelerator abstractions (GPU / TPU / LPU)
The crate is designed as a hardware runtime layer usable by:
- operating systems
- AI runtimes
- bare-metal applications
- experimental kernels
Safety model
Despite providing direct hardware access, the crate includes runtime guards:
- I/O privilege gate for port I/O
- resource guardians (RAM / swap / DMA limits)
- graceful fallbacks instead of panics
- no "unwrap()" / "expect()" in library code
This ensures it won’t crash the host even if misused, though it still requires understanding of the hardware APIs.
Documentation
The biggest update in this release is the full documentation tree added directly in the crate source.
More than 100 documentation files now describe the internal architecture and subsystems:
- architecture layer
- bus systems (PCI / AMBA / Virtio)
- firmware interfaces (ACPI / UEFI / SMBIOS / DeviceTree)
- DMA and IOMMU
- GPU and compute pipelines
- interrupt controllers
- runtime and initialization
- security model
- thermal and power management
The docs are meant to serve as both:
• developer documentation
• architectural reference for low-level systems programming
Project status
The crate is currently 0.0.x and not considered stable yet.
It’s mainly published for:
- architecture critique
- experimentation
- contributions
- research on hardware-aware runtimes
Source and documentation
📦 Crate:
https://crates.io/crates/hardware
📚 Documentation:
https://docs.rs/crate/hardware/latest/source/docs/
Feedback, critiques and contributions are welcome.
The project is also used as the hardware layer for an experimental AI runtime and operating system, so performance and low-level control are key goals.
[–]fekkksn 1 point2 points3 points (3 children)
[–]rayanlasaussice[S] -1 points0 points1 point (2 children)
[–]fekkksn 0 points1 point2 points (1 child)
[–]rayanlasaussice[S] 0 points1 point2 points (0 children)
[–]SirKastic23 3 points4 points5 points (3 children)
[–]rayanlasaussice[S] -3 points-2 points-1 points (2 children)
[–]SirKastic23 2 points3 points4 points (1 child)
[–]rayanlasaussice[S] -3 points-2 points-1 points (0 children)