ABI Changelog
This page tracks ABI evolution for strat9-abi.
Versioning policy
- Major (
ABI_VERSION_MAJOR) changes only for incompatible wire/layout changes. - Minor (
ABI_VERSION_MINOR) changes for backward-compatible additions. - No silent renumbering of existing syscall IDs.
repr(C)and explicit size checks are mandatory for exported ABI structs.
Current version
ABI_VERSION_MAJOR = 0ABI_VERSION_MINOR = 1- Packed:
0.1
See:
Recent ABI updates (auto-generated)
- 2026-03-09
ff0a36bRefactor memory management to use IRQ-disabled tokens - 2026-03-07
c3e8969Fix race condition and lock - 2026-03-07
6191656cargo fmt - 2026-03-07
8cd1410Refactor memory allocation and deallocation in the kernel : per-CPU frame cach and a CPU-local BuddySet avoids the global lock in the common case. - 2026-03-04
04b384efix(build): improve stage assembly error handling and warnings - 2026-03-03
2eb44c0feat(task): replace FpuState with ExtendedState, support xsave/xrstor - 2026-03-03
ae5480afeat(silo): add silo attach for live debug output monitoring - 2026-03-03
8c0056afeat: expand and reorganize shell commands with new utilities for hardware, process, and VFS, and update boot ABI structures. - 2026-03-03
e9cce98feat: Implement POSIX-compatibleclock_gettimesyscall and addcall::openwith POSIXO_*flag conversion. - 2026-03-03
04cbe05feat: Add comprehensive VFS operation self-tests, refine VFS error handling, and improve IPC port cleanup. - 2026-03-03
2642cf8docs: Add/// Implementsdoc comments to various functions across components for improved clarity. - 2026-03-03
ef0f1d7docs: Add documentation comments to ABI and syscall components and enhance error handling in the documentation build script. - 2026-03-03
f314904feat: ExpandFileStatwith additional POSIX fields and update kernel VFS schemes, and add anoncetoIpcHandshake. - 2026-03-03
769f3ebfeat: Update syscall ABI with struct layout adjustments, error encoding clarification, and versioning. - 2026-03-03
c23a68afeat: Ensure Limine bootloader directories exist, use a real time source forsetitimer, and additimervalvalue validation. - 2026-03-03
ea80816fix: CorrectO_NOFOLLOWflag value and add length bounds checks toDirentIterinitialization and name length assignment. - 2026-03-03
748f98cfeat: Addpreadandpwritesyscalls, enhance WASMproc_exithandling, and implement IPC port cleanup on task termination. - 2026-03-03
aa38e26refactor: Change network syscall error for missing device, add user page fault trace budget, and zero demand-paged memory after mapping. - 2026-03-03
326613afeat: Add PCI and handle ABI types, improve user page fault error reporting, ensure identity mapping for demand-paged frames, and update the build target triplet. - 2026-03-03
52f3586Enhance error handling by adding new error variants to the Error enum - 2026-03-03
6cf254dRefactor IPC message handling and update memory management logging - 2026-03-03
50d7f2fEnhance ABI structures and improve syscall error handling - 2026-03-03
607abacEnhance ABI introspection and improve syscall handling - 2026-03-03
deabb18Enhance Strat9 ABI integration and update OpenFlags implementation - 2026-03-03
92ba1c6Add strat9-abi as a workspace dependency and refactor bootloader integration - 2026-03-03
eb5de02Refactor variable names in BuddyAllocator and sys_sigtimedwait for clarity - 2026-03-03
259bb9dEnhance PCI support and update related components - 2026-03-02
c57b44dAddstrate-buscomponent and related build tasks. - 2026-03-01
8c7a98dEnhance QEMU GUI support and update related scripts - 2026-03-01
84fdb29Update zerocopy dependency and refactor related code
Changelog entries
0.1
- Introduced canonical
strat9-abicrate as single source of truth. - Unified syscall numbers in
strat9_abi::syscall. - Unified shared structs (
TimeSpec,IpcMessage,FileStat, PCI types). - Added boot handoff ABI (
KernelArgs,MemoryRegion,MemoryKind) with magic/version checks. - Added ABI introspection syscall
SYS_ABI_VERSION.
Entry template
Use this template for future ABI entries:
### X.Y
- Added:
- <new syscalls/types/flags>
- Changed (compatible):
- <field additions, new constants, optional semantics>
- Changed (breaking):
- <layout/numbering/semantic breaks>
- Migration notes:
- <what userspace/kernel must update>