]> 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)
commit44f636259ed265f441f0ed84659e88428610cf0f
treeae3329978feb7a272e30b29231d854fe8f79ed26
parent74b8f18ca7b86d1d37edca62d3abaca6b0d5ea0f
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