Commit Graph

71 Commits

Author SHA1 Message Date
Mark 236f4e5bf5 Cleanup kernel options a bit 2020-08-07 12:53:58 +03:00
Mark 83b1d9a281 Add setsid(2) syscall 2020-07-31 15:27:18 +03:00
Mark ee85365bbc Add sched_yield(2) 2020-07-28 14:52:31 +03:00
Mark 7a26c595e4 Add exception signals, fix stack misalignment on userspace entry 2020-07-26 21:00:36 +03:00
Mark d8b41be80c Close FDs not in _cleanup, but in exit 2020-07-23 12:58:28 +03:00
Mark 85c64e7cf0 Reparent orphans to init on parent death 2020-07-22 23:32:57 +03:00
Mark 92acffb13b Add getppid(2) 2020-07-22 23:13:29 +03:00
Mark f79fc98967 Add procfs 2020-07-12 17:10:51 +03:00
Mark 25537eeab8 Fix: prevent double queueing of the same thread 2020-07-11 17:50:16 +03:00
Mark f08fcd77da Use struct list_head to link thread in a process 2020-07-10 17:01:24 +03:00
Mark 8ba9dc6b10 Thread termination with exit() syscall 2020-07-10 16:41:40 +03:00
Mark 75be29e98e Inherit signal entry on clone() 2020-07-10 13:57:24 +03:00
Mark 6ae176d516 Add sigaltstack() syscall 2020-07-10 13:41:15 +03:00
Mark 65e5cd552f Free fxsave buffer in process_free 2020-07-08 22:50:49 +03:00
Mark 4df8f39f78 Fix improper interruption of sleep 2020-07-08 13:29:52 +03:00
Mark c60ddf21c9 Add (buggy) SIGSTOP/SIGCONT for processes 2020-07-07 21:25:48 +03:00
Mark ecf4262646 Separate notions of "thread" and "process" 2020-07-05 23:16:10 +03:00
Mark b6f29c2cd7 Treat req. pid == pid the same as req. pid == 0 in setpgrp 2020-07-05 18:54:41 +03:00
Mark 5b8ef34eeb Move execve() 2020-07-05 17:59:05 +03:00
Mark eae186bbf2 A better set of functions for struct ofile 2020-07-05 17:41:12 +03:00
Mark 619b2d5e6c Fix invalid waitpid() notification
A thread could waitpid() on PID 1, but receive a notify from PID 2,
leading to assert("PID 1 finished") to fail
2020-06-30 13:42:50 +03:00
Mark 24681a507c Fix procv_strcpy_paged returning zero instead of length 2020-06-15 12:01:58 +03:00
Mark 1f10370b87 Add (hacky) environ handling 2020-06-14 23:31:40 +03:00
Mark 6ebf440b60 Fix invalid CR3 loading on execve() when timer ticks 2020-06-12 11:12:01 +03:00
Mark d34e0c4faa Fix double ring signalling leading to crash 2020-06-11 18:19:55 +03:00
Mark 927e639d3a Add support for shared anonymous mappings 2020-04-13 12:28:22 +03:00
Mark 3621a567a8 Move amd64_* memory functions to mm_ namespace 2020-04-07 15:13:37 +03:00
Mark 636ad966c4 Newlib compat 2020-04-07 11:49:38 +03:00
Mark 522a5cc9d6 Add select() on sockets 2020-03-31 11:30:26 +03:00
Mark 26bf9f60c0 Integrate new io_notify with waitpid() 2020-03-31 13:04:27 +03:00
Mark 55d2efda8e Reworked how waiting/select()ing FDs works 2020-03-30 18:08:23 +03:00
Mark 37ed963272 Clean implementation of socket classes 2020-03-30 10:59:25 +03:00
Mark 7005c446f8 PoC shared memory implementation 2020-03-27 14:33:15 +02:00
Mark f44505b05c Rework list functions 2020-03-26 22:05:06 +02:00
Mark 65b663af11 Add socket close() 2020-03-20 21:28:03 +02:00
Mark 1ef3a5d248 Add sockets and UDP sendto() 2020-03-20 16:37:52 +02:00
Mark 0c64ca8b4d Revert signal triggering code 2020-03-20 11:14:49 +02:00
Mark 4878a0b06e Proper FPU init, fxsave/fxrstor for threads 2020-02-07 15:02:06 +02:00
Mark 41ae3d7aab Fix ring reader ignoring signals and unqueuing threads twice 2020-02-05 13:28:11 +02:00
Mark 533bc8567a Add linked list structure 2020-02-05 11:38:13 +02:00
Mark bdab682a99 Notify ring reader when control character is written to ring 2020-02-05 10:36:31 +02:00
Mark 33ad8e3ee3 Fix scheduler lock not being released when handling signals 2020-02-04 23:37:57 +02:00
Mark 3542b73f1a SMP kinda works, fixed malloc race condition
Damn, I totally need to review SMP safety
2020-02-04 14:16:16 +02:00
Mark d9595c7f62 Change project structure 2020-02-04 12:45:15 +02:00
Mark b6d2cfb9b3 Better cleanup of dead threads 2020-02-03 13:59:00 +02:00
Mark e342c62882 Thread cleanup stub 2020-02-03 13:24:52 +02:00
Mark 818e3d8825 Thread names 2020-02-03 12:47:28 +02:00
Mark 14805828b5 Backport sysfs and random 2020-02-03 12:39:53 +02:00
Mark 4269177c1a execve() arguments 2020-02-03 12:27:46 +02:00
Mark 086447914b brk() and readdir() system calls 2020-02-03 12:16:25 +02:00