asleepymoon
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 18:42:02 +00:00
743aedcd49 libc: Implement atexit() and _exit()
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 18:19:51 +00:00
be9026442e libc: Check for file descriptors 0 and 1, and if they exist do not close and reopen them
de6041fede libc: Add fdopen()
Compare 2 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 18:05:33 +00:00
52944ba5d8 Kernel/VMM: Add support for larger pages to getFlags()
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 18:02:36 +00:00
69a9f7f06a Kernel: Move VMM from a class to a namespace
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 17:25:40 +00:00
5f8376409d Kernel, libc: Implement EFAULT
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 17:22:14 +00:00
e37ff67da2 Make exec return an error if the loaded executable would use more memory than is currently available
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 17:20:20 +00:00
9cddf9485d ELFLoader: Make check_elf_image return how much memory the executable will use on success
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 17:15:50 +00:00
4091799701 Kernel, libc: Add ENOEXEC (Exec format error)
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 17:07:40 +00:00
ea886f58a0 Update README.md
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:43:54 +00:00
8a7ddfca80 exec: Use check_elf_image()
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:38:24 +00:00
1a54342454 Sanity check
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:37:38 +00:00
d4c4c0177d compilation fix :)
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:37:06 +00:00
3ac9fed23a ELFLoader: Add check_elf_image() and check_elf_image_from_filesystem()
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:23:58 +00:00
261fc73146 ELFLoader: Read the ELF file header by header using the VFS
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 16:04:33 +00:00
7a2e313a20 init: demo execv()
e9df5fd663 exec: Copy pathname into kernel memory, since the user memory where it resides is going to be freed
bcbf43e55c Kernel/std: Add strdup()
Compare 3 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 15:46:03 +00:00
531afc3d6f libc: Add support for the new exec() system call
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 15:42:07 +00:00
f8b3567042 Kernel: Add an exec() syscall
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 15:16:02 +00:00
34c35163e4 libc: use the normal names that everybody uses for stdout and stderr
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 15:14:54 +00:00
dfdc3b2d11 libc: close fds 0 and 1 before opening stdout and stderr
asleepymoon pushed to main at asleepymoon/Luna 2022-10-12 15:12:17 +00:00
25a460e3c6 Scheduler: clear user tasks' registers
136c0b3ae9 Scheduler: add a reset_task function
4e3ef9593d Scheduler: Move ELF image freeing to ELFLoader
a6f0a7056f Scheduler: Set the user_task field in a Task at creation time
Compare 4 commits »