Bananymous
97ea4986af
Kernel/LibC: implement proper getpgid and setpgid
2023-08-22 14:53:12 +03:00
Bananymous
42b90ae76c
Kernel/LibC: Add {get,set}pgrp()
2023-08-22 11:36:33 +03:00
Bananymous
8e4216215e
Kernel/LibC: add dup() syscall and function
2023-08-17 12:03:29 +03:00
Bananymous
432c296b7b
Kernel: Implement SYS_GET_PID and SYS_TCSETPGID
...
we don't have consept of process groups yet
2023-07-24 22:29:59 +03:00
Bananymous
adb14ba373
Kernel: Userspace signal handlers are now called one at a time
...
I added a syscall for telling the kernel when signal execution has
finished. We should send a random hash or id to the signal trampoline
that we would include in the syscall, so validity of signal exit can
be confirmed.
2023-07-23 13:34:53 +03:00
Bananymous
7391d91317
Kernel/LibC: add SYS_SIGNAL/signal()
2023-07-21 20:08:13 +03:00
Bananymous
ad756c36fc
Kernel/LibC: Add SYS_KILL/kill()
2023-07-21 19:27:38 +03:00
Bananymous
dcd4d0daeb
Kernel/LibC: Add bareboness signals
...
You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :)
2023-07-21 15:45:02 +03:00
Bananymous
a549336530
Kernel/LibC: add basic dup2
2023-07-06 23:17:54 +03:00
Bananymous
4eb95c963d
Kernel/LibC: Add basic pipe() syscall and command
...
You can now create pipes :)
2023-07-06 22:16:26 +03:00
Bananymous
3c068aa0ae
Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC
...
This gets the number of milliseconds since boot
2023-07-06 00:38:29 +03:00
Bananymous
0f63cfa43f
Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd
2023-06-12 02:02:52 +03:00
Bananymous
b254ade69b
Kernel: Add SYS_GET_{,E}{UID,GID}
2023-06-11 22:37:00 +03:00
Bananymous
ef4ebaa969
Kernel: Add syscalls for set{,e,re}{uid,gid}
2023-06-11 22:37:00 +03:00
Bananymous
5aed186827
Kernel: Add SYS_OPENAT
2023-06-11 03:29:22 +03:00
Bananymous
52c4eebd77
Kernel: Implement SYS_FSTAT
2023-06-11 03:29:22 +03:00
Bananymous
7a5d5cabad
Kernel: Add syscall for reading directory entries
2023-06-11 00:18:08 +03:00
Bananymous
86f58f60cb
LibC: implement setenv, unsetenv, putenv
2023-06-05 22:51:02 +03:00
Bananymous
9d64dbd5c2
Kernel/LibC: add SYS_STAT and stat(), lstat()
2023-06-05 14:37:14 +03:00
Bananymous
cbb9f47ee5
LibC: add wait and waitpid
...
Note that wait() doesn't work since only waiting for specified
pid is supported. wait() will just return -1 and set errno to
ECHILD.
2023-06-04 18:00:52 +03:00
Bananymous
3c3c7826ef
LibC: Add simple definition for realloc
...
The syscall just crashes the kernel currently. I will implement
this when needed
2023-06-02 17:56:13 +03:00
Bananymous
ab61b49aca
Kernel: Add SYS_EXEC syscall
2023-05-31 20:57:33 +03:00
Bananymous
0c316ebfb2
Kernel: Add SYS_SLEEP
2023-05-28 22:34:48 +03:00
Bananymous
6fdbe6f9c2
Kernel: Add bareboness fork() function
2023-05-28 18:08:49 +03:00
Bananymous
f79250c4d4
LibC: Rewrite all the headers.
...
We now have more or less posix issue 2018 conforming libc headers.
This was a really time consuming and boring operation but it had to
be done.
Now we get to actually start implementing libc :)
2023-05-26 22:31:21 +03:00
Bananymous
fe87c08a02
LibC: add needed stubs to build executables with our compiler
2023-04-12 17:53:02 +03:00