ThunderOS v0.3.0 - Memory Foundation
ThunderOS v0.3.0 - Memory Foundation
Release Date: November 10, 2025
Overview
Advanced memory management infrastructure for device drivers, including DMA allocation, address translation, and memory barriers. This release builds the foundation for VirtIO device drivers in v0.4.0.
✨ New Features
DMA Memory Allocator
- Physically contiguous memory allocation for device DMA
- Address tracking (physical and virtual)
- Memory zeroing support
- Region statistics and validation
Memory Barriers
- Complete RISC-V fence instruction suite
- Full, read, write, and I/O barriers
- Data synchronization barriers
- Instruction synchronization (fence.i)
Enhanced Address Translation
- Virtual-to-physical translation with page table walking
- Physical-to-virtual helpers
- Kernel virtual address utilities
- Error handling for invalid addresses
Testing & Documentation
- 10 comprehensive tests for DMA, barriers, and translation
- Exhaustive Sphinx documentation
- API reference and usage examples
📊 Release Criteria (All Met)
- ✅ DMA allocator works reliably
- ✅ Virtual-to-physical translation accurate
- ✅ Memory barriers implemented for device I/O
- ✅ Foundation ready for VirtIO device drivers
🔧 Technical Details
- DMA Region Tracking: Linked list with magic number validation
- Memory Barriers: RISC-V fence instructions (rw, r, w, io)
- Address Translation: 3-level Sv39 page table walking
- Platform: QEMU virt machine (tested with 128MB-512MB RAM)
📦 Toolchain Updates
- Switched to
riscv64-unknown-elf-gcc(bare-metal toolchain) - Updated Dockerfile for CI/CD compatibility
- Fixed GitHub Actions build issues
See CHANGELOG.md for complete details.