## Motivation Implements RFC 0009 — Rust std on vibix. Phase 2 syscalls enable `std::fs::rename()`, positional I/O (`pread`/`pwrite`), `std::thread::sleep()`, and platform identification. Without these, `std::fs` and `std::process` cannot be fully implemented. ## Work - [ ] Wire `sys_rename`(82): connect existing `fs::ext2::rename` to syscall dispatch - [ ] Add `sys_renameat`(264): *at variant of rename, relative to dirfd - [ ] Add `sys_pread64`(17): read at offset without changing file position - [ ] Add `sys_pwrite64`(18): write at offset without changing file position - [ ] Add `sys_nanosleep`(35): sleep for specified timespec duration, return remaining time on signal interruption - [ ] Add `sys_uname`(63): fill `struct utsname` with sysname="vibix", nodename, release, version, machine="x86_64" ## Context - `docs/RFC/0009-std-on-vibix.md` (merged via PR #847) - Rename impl exists: `kernel/src/fs/ext2/rename.rs` - Shell helper: `kernel/src/shell/vfs_helpers.rs:316`
Motivation
Implements RFC 0009 — Rust std on vibix. Phase 2 syscalls enable
std::fs::rename(), positional I/O (pread/pwrite),std::thread::sleep(), and platform identification. Without these,std::fsandstd::processcannot be fully implemented.Work
sys_rename(82): connect existingfs::ext2::renameto syscall dispatchsys_renameat(264): *at variant of rename, relative to dirfdsys_pread64(17): read at offset without changing file positionsys_pwrite64(18): write at offset without changing file positionsys_nanosleep(35): sleep for specified timespec duration, return remaining time on signal interruptionsys_uname(63): fillstruct utsnamewith sysname="vibix", nodename, release, version, machine="x86_64"Context
docs/RFC/0009-std-on-vibix.md(merged via PR RFC 0009: Rust std on vibix #847)kernel/src/fs/ext2/rename.rskernel/src/shell/vfs_helpers.rs:316