Commit Graph

58 Commits

Author SHA1 Message Date
Matheus 16b6c86a5f cpu: rename _cpu() to current_cpu() 2024-09-15 19:03:09 -03:00
Matheus 56d665d5a0 kernel: fix remaining _cpu() races 2024-09-15 18:39:59 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus 31c7cf881c signal: add signal_returnmask and other fixes 2024-09-12 22:08:57 -03:00
Matheus c086b9625a scheduler: fix issue with threads being lost 2024-09-09 21:24:02 -03:00
Matheus 909ef74597 signals: signal_wait 2024-09-08 15:41:54 -03:00
Matheus 24be70ac29 signals: fix sigset 2024-09-05 18:23:13 -03:00
Matheus 2e302a4d38 signal: way to signal all processes 2024-09-05 16:36:52 -03:00
Matheus 42bda0bf92 vfs: redo locking 2024-08-26 21:47:23 -03:00
Matheus 7cad8f53f2 tcp: initial implementation 2024-06-03 22:02:58 -03:00
Matheus 9260c8cb96 scheduler: use a linked list for threads in a process instead of a table 2024-05-29 12:55:10 -03:00
Matheus 5f7791cd08 syscalls: fchdir, setitimer, getitimer 2024-05-29 11:14:07 -03:00
Matheus b28e556a81 scheduler: interrupt thing fix 2024-05-28 17:47:06 -03:00
Matheus d2527bee92 context changes and scheduler userspace check fix 2024-05-27 22:00:59 -03:00
Matheus 7a27157d75 scheduler: fix concurrency issues 2024-05-26 20:52:45 -03:00
Matheus a65e7fa8cc signal: check for pending signals before yield 2024-05-22 17:49:49 -03:00
Matheus 6bc3747856 scheduler: sched_terminateprogram() 2024-05-22 17:10:33 -03:00
Matheus e965ae3ec4 signals: retry in case of ignored signal 2024-05-22 10:44:00 -03:00
Matheus b61d391778 scheduler: hold reference on sched_getprocfrompid 2024-05-22 09:44:11 -03:00
Matheus 1b63e9b436 signals: more general changes 2024-05-17 18:48:57 -03:00
Matheus 7b0cc4c51b initial signal implementation 2024-05-14 15:04:48 -03:00
Matheus bf841406d5 semaphore: signal safety 2024-05-08 20:13:12 -03:00
Matheus a2c7db6561 init: withx option 2024-05-07 21:54:12 -03:00
Matheus f2f7a629cc file: use mutex for locking rather than spinlock 2024-05-07 18:52:05 -03:00
Matheus dd46c4b766 scheduler: fix kernel stack unmapping 2024-05-01 22:41:59 -03:00
Matheus 05049a091f job control: sessions and process groups 2024-05-01 21:42:38 -03:00
Matheus e0c2cd9a2a scheduler: pid refcount 2024-04-28 18:45:43 -03:00
Matheus 8deb3a1144 context: CTX_INIT interrupt flag 2024-04-28 14:32:28 -03:00
Matheus 6d04deeac9 kernel: expose threads to userspace (newthread and threadexit syscalls) 2024-04-14 16:12:52 -03:00
Matheus 2cb94c2c2e scheduler: handle userland thread exit 2024-04-14 14:00:11 -03:00
Matheus d33ef16f87 scheduler: sched_stopotherthreads() 2024-04-14 13:21:54 -03:00
Matheus 55f407da08 scheduler: handle interruptions in sched_yield() when sleeping as to prevent lost wakeup 2024-04-14 12:42:43 -03:00
Matheus 52ab80bc9a scheduler: better define wakeup reasons 2024-03-30 18:39:26 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus 6d8c0c30cf scheduler: sched_usleep 2023-10-15 20:58:10 -03:00
Matheus 2cf201746a scheduler: fix use of non zero'd memory 2023-08-12 23:10:22 -03:00
Matheus 755fd1a8d1 scheduler: don't depend on devfs being mounted 2023-07-26 00:17:29 -03:00
Matheus ac8cdfb2f3 scheduler: add yield after halt in cpuidlethread 2023-07-20 14:24:52 -03:00
Matheus e4d2b8f657 scheduler: cpu target 2023-07-09 12:00:29 -03:00
Matheus c20d0e790f scheduler: umask default value and fpu saving in x86_64 context 2023-07-08 22:54:34 -03:00
Matheus 1621bb1a9b scheduler: fix threadexit interrupt disable 2023-07-03 22:48:04 -03:00
Matheus 7e7504cde7 scheduler: sched_setroot and sched_setcwd 2023-06-27 19:34:45 -03:00
Matheus facd03f2e8 tools: basic init 2023-06-26 23:36:38 -03:00
Matheus e3bc7e8b8b timers: use DPCs to handle callbacks 2023-06-26 19:46:30 -03:00
Matheus 1256960e78 scheduler: fix newproc() unitialized variable 2023-06-12 21:13:55 -03:00
Matheus f2b76caa84 vmm: change how vmm_destroycontext is handled 2023-06-10 12:09:46 -03:00
Matheus b9fe4cc3b1 kernel: exit syscall 2023-05-30 10:32:58 -03:00
Matheus 96bb14c88a scheduler: bash login shell 2023-05-14 11:08:54 -03:00
Matheus 0e0c538b15 scheduler: assign pids and tids 2023-05-13 22:29:35 -03:00
Matheus af2459a042 scheduler: init stdin, stdout and stderr 2023-05-13 21:13:20 -03:00