asleepymoon
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 17:04:33 +00:00
e34045a78c Kernel: on stack smashing detection, do not trigger a normal panic
asleepymoon commented on pull request asleepymoon/Luna#13 2022-10-16 16:50:24 +00:00
WIP: Add fork()

Will have to come back to this in the future, since the idea is to be UNIX-like, but right now this is solved by commit [9b39d61](https://git.cloudapio.eu/apio/Luna/commit/9b39d618de3494a304fc5e7da…

asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 16:48:44 +00:00
9b39d618de Kernel, libc: Implement spawn()
asleepymoon closed pull request asleepymoon/Luna#13 2022-10-16 16:30:15 +00:00
WIP: Add fork()
asleepymoon commented on pull request asleepymoon/Luna#13 2022-10-16 16:30:15 +00:00
WIP: Add fork()

I think my cheap solution for this right now is going be to introduce a spawn() function to spawn a new executable, and forget about fork() for now. At least until I can figure out why the hell it…

asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 16:23:46 +00:00
a1146a5ce2 Panic: show panic message on screen
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 15:37:37 +00:00
6d821d2638 libc: Add support for mkdir()
f35bbe52b7 fnctl: Do not switch on cmd
Compare 2 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 15:25:06 +00:00
e1e86ab889 libc: Add support for EEXIST, ENOTDIR, ENOSPC, ENOTSUP and EPIPE to strerror()
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 15:22:20 +00:00
d2e2883a79 Kernel: Make mkdir() accessible to userspace
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 14:58:34 +00:00
18fbccafb7 VFS: add an exists() function
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 14:00:22 +00:00
0a46feb162 Add strnlen test
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 13:32:11 +00:00
d62eb6c791 Tests: Add test framework
asleepymoon commented on pull request asleepymoon/Luna#13 2022-10-16 12:48:02 +00:00
WIP: Add fork()

I don't understand.

Now address spaces are cloned, and copied, which means they have the same addresses but modifying memory in one doesn't get reflected in the other.

And yet, with an…

asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 12:45:33 +00:00
f8154ce230 Kernel: Implement mkdir() from a single path
asleepymoon pushed to main at asleepymoon/Luna 2022-10-16 12:36:33 +00:00
8c0a57f0c2 Kernel: Copy strrchr, dirname and basename over from libc
asleepymoon pushed to fork at asleepymoon/Luna 2022-10-16 12:31:24 +00:00
08eb18307b The kernel page directory is already there
asleepymoon pushed to fork at asleepymoon/Luna 2022-10-16 07:58:22 +00:00
9070d17477 wait before letting the fork run for now
asleepymoon pushed to fork at asleepymoon/Luna 2022-10-15 18:31:07 +00:00
145ea40945 fork() is almost working
16f797eeee AddressSpace: make clone() perform a deep copy
Compare 2 commits »
asleepymoon pushed to fork at asleepymoon/Luna 2022-10-15 16:59:14 +00:00
397b1a2819 Kernel: add memmem
asleepymoon commented on pull request asleepymoon/Luna#13 2022-10-15 16:45:44 +00:00
WIP: Add fork()

There is a problem here:

The child starts doing stuff with the parent's stack, since all addresses copied from the parent are directly what the parent set.

But if we map both stacks at the…