RustForge

rust-kernel

Rustbelt: a hobby x86_64 kernel written in Rust

AgeCommit messageAuthorId
1 hour agoMerge master (0.21.1: clean shutdown, K12) into arm64Edward42ffc56884
1 hour ago0.21.1: clean shutdown when pid 1 exits (Clarke's K12)Edward6bb2b254b3
1 hour agoStage 22: arm64 bring-up on QEMU virt (cortex-a53)Edwardbef3194286
2 hours agoStage 21: boot contract v2 (GPT root partition, /sbin/init as pid 1, exit status to QEMU), exFAT share at /mnt/share, msync, RUSTBELT_DISK0 + CARGO_TARGET_DIR; 0.21.0Edward50476f4014
2 hours agoStage 20: plain static executables and timerfd (0.20.0)Edward52913323ce
2 hours agoStage 19: vDSO, static PIE and mremap (0.19.0)Edwarda55b41da50
3 hours agoDevice identities, ttyname, fd-message merging, /proc/self/cwd (Clarke's probe)Edwardb0a701d1cb
3 hours agoFix the threads_and_futexes flake: three SMP racesEdwardd8a39ce8e0
3 hours agoStage 18: Unix sockets and /proc/self (0.18.0)Edwarddea72d3d03
4 hours agoStage 18 prep: fixes from Clarke's 0.17.0 reviewEdwarda91bf2c131
4 hours agoStage 17: coreutils batch 2 (0.17.0)Edwardfc5e78aac8
5 hours agoStage 16: libc batch 1 (0.16.0)Edward63fcb8621f
1 day agoStage 15.1: musl prerequisites (0.15.1)Tyler Fowler58fc4fd365
1 day agoWIP 15.1: version bump, selftest/headless/screenshot, README chapterTyler Fowlerc01312bd1a
1 day agoWIP 15.1: rawabi, a no-libc static Linux C binary (gcc -nostdlib), + testTyler Fowler06676b7883
1 day agoWIP 15.1: Linux C-string path syscalls, struct stat, *at() calls, rename, pathtestTyler Fowlera8e8b7433b
1 day agoWIP 15.1: per-thread FPU/SSE/AVX state (XSAVE/FXSAVE), signal fpstate, #MF/#XM, fputestTyler Fowler7ad1388c3b
1 day agoStage 15: libc plumbing (0.15.0)Tyler Fowlera64c7daa9b
1 day agoWIP stage 15: README chapter, syscall table, roadmap; screenshot + boot.pngTyler Fowlerbef84dd86f
1 day agoWIP stage 15: select/ppoll/readv wrappers, more nbtest/ptytest checks, headless fixesTyler Fowlerf689a14d10
1 day agoWIP stage 15: libc plumbing (poll/epoll, nonblock, loopback, futex/threads, ptys)Tyler Fowlera4c179499f
1 day agoStage 14: processes (0.14.0)Tyler Fowler02590b467a
1 day agoStage 13: virtual drivers (0.13.0)Tyler Fowler2a105612c9
1 day agoStage 12: networking (0.12.0)Tyler Fowler3d90f5acee
1 day agoStage 11: core polish (0.11.0)Tyler Fowler1d96179a2a
1 day agoStage 10: read-only btrfs driver (0.10.0)Tyler Fowlera04245092f
1 day agoStage 9: exFAT driver (0.9.0)Tyler Fowler856182a546
1 day agoStage 8: ext2 driver (0.8.0)Tyler Fowler3b489faecb
1 day agoShell: drive letters start at A: (root) instead of C:Tyler Fowlerd3dbcfaf7f
1 day agoRename the crate rust_kernel -> rustbeltTyler Fowler320b50a20c
1 day agoStage 7: Rustbelt shellTyler Fowlercd21aabc56
1 day agoStage 6: PCI, virtio-blk, partitions, FAT32, spawn/wait and shell syscallsTyler Fowler20756a688a
1 day agoUser mode (ring 3), syscalls, per-process address spaces, ELF loader, VFS + ramfsTyler Fowler176e770e4a
1 day agoAsync/await executor + async keyboard task (Backspace), preemptive kernel threadsTyler Fowlera0fc1ab827
1 day agoAdd paging, frame allocator, heap + allocator designs, lib.rs and cargo test suiteTyler Fowler866aaa3978
1 day agoAdd IDT/exceptions, GDT+TSS double-fault stack, PIC timer + keyboard interruptsTyler Fowlerdd01e731c4
1 day agoMinimal Rust x86_64 kernel booting in QEMU (VGA + serial)Tyler Fowler9ebb4aa974