1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00
serenity/VirtualFileSystem
Andreas Kling 8accc92c3c Implement fork()!
This is quite cool! The syscall entry point plumbs the register dump
down to sys$fork(), which uses it to set up the child process's TSS
in order to resume execution right after the int 0x80 fork() call. :^)

This works pretty well, although there is some problem with the kernel
alias mappings used to clone the parent process's regions. If I disable
the MM::release_page_directory() code, there's no problem. Probably there's
a premature freeing of a physical page somehow.
2018-11-02 20:41:58 +01:00
..
.gitignore Import all this stuff into a single repo called Serenity. 2018-10-10 11:53:07 +02:00
CharacterDevice.cpp Virtual consoles kinda work! 2018-10-30 15:33:37 +01:00
CharacterDevice.h Add sys$ttyname_r and ttyname_r() + ttyname(). 2018-10-30 22:03:02 +01:00
DiskBackedFileSystem.cpp Add an inode metadata cache to the ext2fs implementation. 2018-10-29 23:45:34 +01:00
DiskBackedFileSystem.h Add an inode metadata cache to the ext2fs implementation. 2018-10-29 23:45:34 +01:00
DiskDevice.cpp Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
DiskDevice.h Import very modest Userland. 2018-10-22 14:06:22 +02:00
ext2_fs.h Import all this stuff into a single repo called Serenity. 2018-10-10 11:53:07 +02:00
ext2_types.h Import all this stuff into a single repo called Serenity. 2018-10-10 11:53:07 +02:00
Ext2FileSystem.cpp Add SpinLock to IDE disk access. 2018-10-31 21:33:27 +01:00
Ext2FileSystem.h Add an inode metadata cache to the ext2fs implementation. 2018-10-29 23:45:34 +01:00
FileBackedDiskDevice.cpp Integrate ext2 from VFS into Kernel. 2018-10-17 10:57:23 +02:00
FileBackedDiskDevice.h Integrate ext2 from VFS into Kernel. 2018-10-17 10:57:23 +02:00
FileHandle.cpp Implement fork()! 2018-11-02 20:41:58 +01:00
FileHandle.h Implement fork()! 2018-11-02 20:41:58 +01:00
FileSystem.cpp Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
FileSystem.h Add a VFS::absolutePath(InodeIdentifier). 2018-10-28 12:20:25 +01:00
FullDevice.cpp Start working on virtual consoles/TTYs. 2018-10-30 13:59:29 +01:00
FullDevice.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
InodeIdentifier.cpp Greatly improve /proc/PID/stack by tracing the ebp frame chain. 2018-10-27 00:14:24 +02:00
InodeIdentifier.h Add a "pwd" utility to userland. 2018-10-24 14:28:22 +02:00
InodeMetadata.h Add some basic field width support to printf(). 2018-10-27 16:43:03 +02:00
Limits.h Import very modest Userland. 2018-10-22 14:06:22 +02:00
Makefile Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
NullDevice.cpp Start working on virtual consoles/TTYs. 2018-10-30 13:59:29 +01:00
NullDevice.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
RandomDevice.cpp Start working on virtual consoles/TTYs. 2018-10-30 13:59:29 +01:00
RandomDevice.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
small.fs Lots of hacking: 2018-10-23 10:12:50 +02:00
SyntheticFileSystem.cpp Snazz up the kprintf() output a bit by giving it its own color. 2018-10-31 20:14:23 +01:00
SyntheticFileSystem.h Okay let's just not have this broken locking at all right now. 2018-10-29 22:43:39 +01:00
sys-errno.h Add basic symlink support. 2018-10-28 14:11:51 +01:00
test.cpp Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
UnixTypes.h Waiters should be notified when a waitee is killed. 2018-11-01 01:05:59 +01:00
VirtualFileSystem.cpp Waiters should be notified when a waitee is killed. 2018-11-01 01:05:59 +01:00
VirtualFileSystem.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
ZeroDevice.cpp Start working on virtual consoles/TTYs. 2018-10-30 13:59:29 +01:00
ZeroDevice.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00