Compare commits

..

13 Commits

Author SHA1 Message Date
8fc58c70f7
kernel: Separate a thread's page directory into two
All checks were successful
continuous-integration/drone/pr Build is passing
The self directory, and the active directory. The active directory is the one the thread is currently using,
and the self directory is the one the thread owns.

This lets us keep track of both, which fixes ext2 executables crashing the system.
2023-06-25 20:09:40 +02:00
868213bb85
kernel: Preserve the new page directory while exec() is running
All checks were successful
continuous-integration/drone/pr Build is passing
2023-06-24 22:27:33 +02:00
2b7537acba
tools: Bump up the ext2 filesystem size 2023-06-24 22:27:33 +02:00
fe7a03e43b
kernel/ext2: Allow reading up to 4 MB of data from files
This is done by scanning the singly indirect pointer of the inode.
2023-06-24 22:21:22 +02:00
00d625a697
kernel/ext2: Add support for symbolic links
All checks were successful
continuous-integration/drone/pr Build is passing
2023-06-24 13:56:19 +02:00
cf897ebb78
kernel: Make pivot_root() reset the parent entry of the new root directory
Otherwise it would just be pointing to the old parent fs, and we don't want that.
2023-06-24 13:56:18 +02:00
0d3aa2de07
kernel/ext2: Implement directory traversal 2023-06-24 13:56:17 +02:00
9ac7082659
tools: Generate the Ext2 filesystem using genext2fs instead
mkbootimg's filenames have some kind of bug...
2023-06-24 13:56:17 +02:00
7bdaac6e0a
kernel/ext2: Implement Inode::read() 2023-06-24 13:56:16 +02:00
40d2efd7ad
kernel/Ext2: Read the root inode metadata from the disk 2023-06-24 13:56:15 +02:00
3d2f73a33b
mount: Put the source argument first 2023-06-24 13:56:14 +02:00
733c778339
kernel+libc+apps: Add a source parameter to the mount() system call 2023-06-24 13:56:14 +02:00
52f48a3187
kernel: Add an Ext2 filesystem skeleton 2023-06-24 13:56:09 +02:00

View File

@ -9,5 +9,4 @@ target_compile_definitions(moon PRIVATE REAP_DEBUG)
target_compile_definitions(moon PRIVATE PCI_DEBUG)
target_compile_definitions(moon PRIVATE EXT2_DEBUG)
target_compile_definitions(moon PRIVATE DEVICE_REGISTRY_DEBUG)
target_compile_definitions(moon PRIVATE FORK_DEBUG)
target_compile_options(moon PRIVATE -fsanitize=undefined)