|
e16324887f
|
MMU: Properly clear flags
|
2022-11-15 19:10:19 +01:00 |
|
|
3358454833
|
Add getters for free, used and reserved memory
|
2022-11-13 16:56:03 +01:00 |
|
|
6a7097c9ec
|
Add variables for the future
|
2022-11-13 16:54:07 +01:00 |
|
|
ae235e5538
|
MMU: unmap and remap for x86_64
|
2022-11-13 16:51:21 +01:00 |
|
|
ba1bf72e1b
|
Remove unused include
|
2022-11-13 16:32:28 +01:00 |
|
|
d6c56fb512
|
Mapping finally works!!
|
2022-11-13 16:31:32 +01:00 |
|
|
4c4f72b865
|
More MMU stuff, but writing still fails
|
2022-11-13 15:33:53 +01:00 |
|
|
d148e0aff7
|
Initialize MemoryManager instead of MMU directly
|
2022-11-13 14:29:59 +01:00 |
|
|
705c2747de
|
Add memory manager
|
2022-11-13 14:29:15 +01:00 |
|
|
6b95307b54
|
Add init
|
2022-11-13 12:20:53 +01:00 |
|
|
ffbe5260a5
|
Add Framebuffer stuff
|
2022-11-13 11:25:15 +01:00 |
|
|
82c2381ac9
|
Serial printing!!
|
2022-11-13 10:30:10 +01:00 |
|
|
cf758fdfdc
|
Initial commit :)
|
2022-11-13 10:09:09 +01:00 |
|
|
42efc21110
|
Start implementing read and write support in tmpfs
write seems to work fine, read just hangs there, waiting.
|
2022-11-12 20:11:26 +01:00 |
|
|
046065c533
|
Fix tmpfs
|
2022-11-12 19:05:47 +01:00 |
|
|
3451d50a37
|
Try building a tmpfs, but weird stuff happens
|
2022-11-12 18:13:41 +01:00 |
|
|
000ffd1fae
|
Scheduler: Handle weird cases when the task we're iterating on is null
|
2022-11-12 18:12:42 +01:00 |
|
|
37bb3273ce
|
Kernel: Add a C interface to the logging system
|
2022-11-12 18:12:18 +01:00 |
|
|
511bb7a8c1
|
Kernel: Make readdir() available in created InitRD directories
|
2022-11-12 18:11:58 +01:00 |
|
|
fa325072ac
|
Kernel: Add __cxa_atexit and __cxa_finalize
|
2022-11-12 17:43:57 +01:00 |
|
|
de2451e553
|
Kernel: Change up the logging in the kernel's PRNG
|
2022-11-12 12:56:13 +01:00 |
|
|
11ee01f269
|
Kernel: Remove "checkpoint logging" in main.cpp
|
2022-11-12 12:55:47 +01:00 |
|
|
5c51b82f6a
|
Kernel: Remove obtain_user_ref and add copy_typed_to and from_user
|
2022-11-12 12:08:26 +01:00 |
|
|
58fb422161
|
Kernel: Return a Result in MemoryManager and strdup_from_user
|
2022-11-12 11:56:40 +01:00 |
|
|
662afad426
|
Kernel: Add a Result class
|
2022-11-12 11:30:28 +01:00 |
|
|
559d074ce4
|
Kernel: Make a more convenient wrapper for basename() and dirname()
|
2022-11-12 10:39:25 +01:00 |
|
|
4aa3bd3107
|
Next version!
|
2022-11-09 17:25:05 +01:00 |
|
|
078f3f5862
|
Kernel: Add a remainder to refactor the initial ramdisk code
|
2022-11-09 16:07:49 +01:00 |
|
|
d76af10e70
|
Kernel: Move initrd into the fs/ folder
It makes more sense to put it in there.
|
2022-11-09 16:03:16 +01:00 |
|
|
60bd8d9418
|
Kernel: Add an explanatory comment to the end of _start()
|
2022-11-09 15:58:00 +01:00 |
|
|
1ea216dfd1
|
Kernel: Rename assert.h to ensure.h
The macro is named "ensure", the header file should reflect that.
|
2022-11-09 15:28:35 +01:00 |
|
|
da7ad8da5b
|
Kernel: Show the file location when a check fails
|
2022-11-09 15:23:59 +01:00 |
|
|
ea94b331fb
|
Scheduler: Use copy_to_user in a few system calls
|
2022-11-09 15:20:53 +01:00 |
|
|
accf7ee417
|
libc: Add unimplemented st_nlink field
|
2022-11-09 11:36:21 +01:00 |
|
|
033c41cbd7
|
Kernel: Rework the uid/gid system to make it compliant
|
2022-11-09 09:54:07 +01:00 |
|
|
98da473fdc
|
Run clang-format
|
2022-11-08 19:07:43 +01:00 |
|
|
054d5a8bb4
|
Build system: Prettify build
|
2022-11-08 18:03:43 +01:00 |
|
|
6f72f92493
|
Kernel: Start preparing for recursive paging
|
2022-11-08 17:12:59 +01:00 |
|
|
5d94525c7a
|
Kernel: Figure out why a program is misbehaving
|
2022-11-06 18:12:25 +01:00 |
|
|
44815b08c7
|
Kernel: Use copy_from_user() and copy_to_user() in read/write
This is huge. Finally, we can do proper reads/writes with invalid addresses, or big buffers.
|
2022-11-06 15:19:23 +01:00 |
|
|
b2fb740d99
|
Kernel: Refuse to mkdir any directory named . or ..
|
2022-11-05 12:09:01 +01:00 |
|
|
b78f6f269d
|
Kernel: Omit displaying KernelHeap's buffer location in the log
|
2022-11-05 11:59:00 +01:00 |
|
|
9ab3ab7c40
|
Kernel: Show init's exit status before restarting
|
2022-11-05 11:56:16 +01:00 |
|
|
b63a9f5ba9
|
Kernel: Improve strdup_from_user and add copy to and from user
Still a bit funky, that's why we're not using it in read() and write() yet.
|
2022-11-05 11:54:55 +01:00 |
|
|
67f536cf91
|
Kernel: Split number-parsing code into a separate file
|
2022-11-05 10:50:58 +01:00 |
|
|
d0efc106b0
|
Kernel: Add UBSAN (Undefined Behaviour Sanitizer)
|
2022-11-05 10:47:18 +01:00 |
|
|
ffcaac0ca3
|
Kernel: Add validate_user_write() and validate_user_read()
Not at copy_from_user and copy_to_user yet, but an improvement over blindly using physical memory.
|
2022-11-04 22:46:48 +01:00 |
|
|
cbc2e76082
|
Remove the .elf suffix from the kernel filename
|
2022-11-03 20:44:37 +01:00 |
|
|
e5b2641019
|
Kernel: Enforce W^X when loading executables
From now on, if an executable contains segments that
want to be loaded as both writable and executable,
we refuse and abort with ENOEXEC.
|
2022-11-03 20:28:54 +01:00 |
|
|
2c08de044f
|
Kernel, libc: Add support for querying the framebuffer's scanline via ioctl()
|
2022-11-03 20:20:22 +01:00 |
|