foundry
Foundry OS: the operating system built on the Rustbelt kernel
| author | Tyler Fowler <tyler@localhost> | 2026-10-30 00:52:14 -0700 |
|---|---|---|
| commit | a68bfbf1da7677ae27d09f13dd6510071933c3ad | |
| tree | browse files at this commit | |
Stage 6: PCI, virtio-blk, partitions, FAT32, spawn/wait and shell syscalls - PCI bus scan (printed at boot); BlockDevice trait + device registry - legacy virtio-blk driver (polled virtqueue, bounce buffer); RamDisk for tests - MBR + GPT parsing, partitions exposed as block devices (vda1...) - FAT32 via fatfs (git, no_std+alloc) behind a BlockIo adapter; mounted at /mnt/disk0; build.rs builds target/disk.img (sfdisk + mkfs.vfat + mtools) with text files and the user program ELFs; programs now load from disk - syscalls: stat, fstat, lseek, pipe, sleep_ms, wait, getcwd, chdir, mkdir, rmdir, unlink, getdents64, spawn(path, argv, stdio, trace) - real blocking: blocked threads, wake_at, WaitQueue; console read, pipes and wait block instead of spinning - 64 KiB thread stacks with a canary, finished stacks freed, 4 MiB heap, allocator takes its lock with interrupts off - demo + child user programs; tests for block, partitions, FAT, spawn/wait - README: disks section, syscall table, spawn vs fork/exec, shell design
| A | notes/todo.txt | +2 -0 |
| A | readme.txt | +2 -0 |
2 files changed, 4 insertions, 0 deletions
@@ -0,0 +1,2 @@+Next stage: the shell (cd, ls, pwd, cat, run, start, pipes, > redirection).+Later: ext2, exFAT, btrfs.
@@ -0,0 +1,2 @@+Hello from the FAT32 disk! This file lives on a virtio-blk disk, in a GPT+partition, in a FAT32 file system -- read through the kernel's VFS.