Commit Graph

34 Commits

Author SHA1 Message Date
1278cec065 VFS: Add a 'type' flag to Nodes, implement EISDIR 2022-10-11 17:48:11 +02:00
1b84c443fe Merge branch VFS into main
Reviewed-on: #10
2022-10-10 18:25:43 +00:00
da84f1713c InitRD: Use get_blocks_from_size() 2022-10-10 18:45:49 +02:00
bbe7c6e658 VFS: Implement resolve_path and form the initial ramdisk's VFS properly
Finally, resolve_path: a function which takes a path (/etc/fstab for example), and walks the VFS:
In this case, it would start with the root FS node, and ask it: "do you have a directory/file named etc?"
The node could say 'yes', 'no', or 'i'm not a directory, I'm a file' (should not be the case for the VFS root, but for the other ones it could be)
If it says yes, we continue and ask the child if it has a file named fstab. Etc...
2022-10-10 18:44:43 +02:00
2be70d0bc1 VFS: Use 64-bit numbers in read()
There is no need for any kind of 32-bit compatibility.
2022-10-09 21:30:38 +02:00
b38c52f8c7 more vfs stuff 2022-10-08 21:35:19 +02:00
f3d7e220ac The beginnings of a VFS implementation!! 2022-10-08 21:22:46 +02:00
8ce58e9e30 Kernel/InitRD: Use %p with printf() 2022-10-08 18:16:55 +02:00
abcf1b6118 Define PAGE_SIZE as 4096 and use it everywhere instead of using 4096 as a magic number 2022-10-08 14:52:28 +02:00
594d79143e Kernel: enable -Wconversion 2022-10-06 17:13:34 +02:00
8f310dd307 PMM: Map the page bitmap to kernel heap once the PMM and VMM are both initialized 2022-10-04 18:36:09 +02:00
1ecd24f5d6 Kernel: Add SSE support (enable SSE on boot and save context (user tasks only) on task switch) 2022-10-02 18:53:54 +02:00
87cb41e549 Separate the logging stack into toggleable backends, to disable console logging once boot finishes. 2022-10-01 15:35:11 +02:00
53d36be339 Add a much-needed get_blocks_from_size function 2022-10-01 12:13:38 +02:00
3fd1b6773d Panic: Only dump stack trace if InitRD is initialized 2022-09-25 17:41:34 +02:00
a078a11dde Move PMM and VMM initialization into MemoryManager::init 2022-09-25 17:38:17 +02:00
3891d0c52e Rename KernelMemoryManager to MemoryManager
Kind of a more catchy name, isn't it?
2022-09-24 21:45:13 +02:00
46b7dab847 Remove RangeAllocator and make a PMM namespace 2022-09-24 21:27:45 +02:00
c3e5251687 Some more userland and font failing 2022-09-23 16:41:43 +02:00
11dd165a8e Scheduler: add proper support for user tasks (still faults though) 2022-09-22 08:14:04 +02:00
49ddb47ad4 Reorganize structure 2022-09-21 17:56:53 +02:00
d8bfb76eef Try to make TextRenderer work... still failing
I can now safely call try_initialize() in early_init though
2022-09-19 20:17:37 +02:00
86e4fce654 Separate conditions for easier debugging 2022-09-19 19:04:14 +02:00
31460fe148 I.... think I fixed the initrd code? 2022-09-19 17:06:08 +02:00
355ca6ea9f Change initrd/sys/config 2022-09-15 18:42:59 +02:00
efb28d3258 Randomness and stack protection!! 2022-09-14 18:54:40 +02:00
db4c8e96b8 commit 2022-09-14 17:55:24 +02:00
0cb59ee17f please work please 2022-09-11 08:23:32 +02:00
f98a45aefe Updated InitRD to use virtual mappings 2022-09-10 22:15:19 +02:00
6a0cf7cf98 New framebuffer class!! 2022-09-10 18:42:40 +02:00
bd0a24097f Add a KernelMemoryManager namespace to wrap PMM + VMM 2022-09-06 18:08:15 +02:00
0fbc68ca88 Finish VMM 2022-09-06 13:49:17 +02:00
8bff2ee0f5 Add a RangeAllocator which serves as a physical memory allocator 2022-09-06 13:21:54 +02:00
1b727a66ea Ready. Set. Go! 2022-09-05 16:13:51 +02:00