]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
D3: fork syscall + remove spawn
authorTulio A M Mendes <[email protected]>
Sun, 8 Feb 2026 01:47:06 +0000 (22:47 -0300)
committerTulio A M Mendes <[email protected]>
Sun, 8 Feb 2026 01:47:06 +0000 (22:47 -0300)
commit8c457f9a9d237f5ce68f808eed4abb705c59143a
tree46acd8981ad8b16bc5ca86c6cfce45d27b6b2ab7
parentd72821be67a427ee309e090cd39cf594331da5a1
D3: fork syscall + remove spawn

Implement fork() by cloning user address space and resuming child in ring3 from a saved register frame. Duplicate FD table via refcounting. Remove temporary spawn syscall and update init.elf waitpid test to use fork().
include/arch/x86/usermode.h
include/process.h
include/syscall.h
include/vmm.h
src/arch/x86/usermode.c
src/arch/x86/vmm.c
src/kernel/scheduler.c
src/kernel/syscall.c
user/init.c