Commit Graph

156 Commits

Author SHA1 Message Date
Ali Mashtizadeh
63f2ae716e Add spawn and wait/waitpid functions into libc. 2023-10-02 19:33:47 -04:00
Ali Mashtizadeh
e2be315cfc Reentrant strtok for kernel debugger 2023-10-01 19:47:26 -04:00
Ali Mashtizadeh
78768d172a Implementing strtok and adding strtok to the shell 2023-10-01 19:36:02 -04:00
Ali Mashtizadeh
631603cab3 Fix up documentation 2023-09-10 16:12:25 -04:00
Ali Mashtizadeh
22704368cb Documentation cleanup throughout the kernel 2023-09-09 20:18:08 -04:00
Ali Mashtizadeh
ac1d7e05ee Cleanup documentation add doxygen and README. 2023-09-09 18:15:41 -04:00
Ali Mashtizadeh
a58001cd9e Cleanup and comments in process and thread code and bonus asserts. 2023-09-06 13:51:47 -04:00
Ali Mashtizadeh
4e7deee132 Fix warning 2023-09-05 22:19:11 -04:00
Ali Mashtizadeh
3bde8dd084 Cleaning up a pile of bugs 2023-09-05 22:18:10 -04:00
Ali Mashtizadeh
b508aaca27 Fix handle use after free 2023-09-05 21:20:02 -04:00
Emil Tsalapatis
d0f236206a do not remove process from parent zombie list during Process_Destroy 2023-09-05 17:26:34 -04:00
Emil Tsalapatis
1c88ad598c wake up procs in wait channel during Mutex_Unlock 2023-09-05 16:37:22 -04:00
Ali Mashtizadeh
e991129de9 Free pages in PMap_Destroy and add extra assertions to catch errors in PAlloc. 2023-09-04 16:03:34 -04:00
Ali Mashtizadeh
3e5eeacf09 Add extra ASSERTs to PAlloc_AllocPage 2023-09-03 14:56:44 -04:00
Ali Mashtizadeh
feb45381ba OSWait: Fix waiting on a specific PID 2023-09-03 14:54:14 -04:00
Ali Mashtizadeh
72341c3c8b Fix WaitChannel_Wake to do nothing if there's no threads to wake up. 2023-09-02 18:41:20 -04:00
Ali Mashtizadeh
d3349d9eaa Adding kernel side Mutex, CV, and testing it with Exit/Wait. 2023-09-02 17:51:10 -04:00
Ali Mashtizadeh
8ce9e523e0 Print currently running threads as well for debugging. 2023-08-30 15:50:41 -04:00
Ali Mashtizadeh
f2b35697a5 Remove warning and cleanup console output. 2023-08-30 13:03:55 -04:00
Ali Mashtizadeh
52377a980c Add waitchannels into the kernel. 2023-08-30 12:49:23 -04:00
Ali Mashtizadeh
67578f14b7 Add lock and malloc annotations to the code. 2023-08-30 12:45:51 -04:00
Ali Mashtizadeh
1df34b2d2e Cleanup loader and unify init and spawn paths. 2023-08-21 22:06:57 -04:00
Ali Mashtizadeh
ff7c6309b7 Split up thread.c into thread, process and scheduler files. 2023-08-21 18:38:51 -04:00
Ali Mashtizadeh
e4ca21fa2e Destroy spinlock when destroying the semaphore 2023-08-21 18:36:54 -04:00
Ali Mashtizadeh
1a67c4841b Fix argument passing and cleanup sysctl 2023-08-21 16:57:54 -04:00
Ali Mashtizadeh
c8f6294511 Fix address printing in Debug_HexDump 2023-08-20 19:05:59 -04:00
Ali Mashtizadeh
2718379e6d Add argument passing 2023-08-20 19:04:28 -04:00
Ali Mashtizadeh
febc7b7997 Support loading unaligned binaries 2023-08-16 23:05:52 -04:00
Ali Mashtizadeh
a7c7a06a5b Change debug shell from > to kdbg> 2022-12-10 01:08:36 -05:00
Ali Mashtizadeh
dfff32378c Style fixes 2022-12-09 23:51:59 -05:00
Ali Mashtizadeh
f86e4ad966 Cleanup and commenting source code 2022-12-09 23:51:45 -05:00
Ali Mashtizadeh
506c559dad Updating copyright for files only touched by me 2018-07-05 16:55:21 -04:00
Ali Mashtizadeh
7bc8169ff2 Fixing some compiler warnings 2015-12-10 12:21:27 -08:00
Ali Mashtizadeh
c1461694ca Support writing sysctls from userspace 2015-12-01 15:14:17 -08:00
Ali Mashtizadeh
afd9cdc068 Adding sysctl command line tool 2015-11-15 15:17:18 -08:00
Ali Mashtizadeh
ae809dd23a Support setting sysctls from the debugger 2015-11-13 14:43:29 -08:00
Ali Mashtizadeh
33af1ed42b Use NMIs to halt all cores when entering the debugger and resume all cores on exit. 2015-02-28 20:18:38 -08:00
Ali Mashtizadeh
ce7e8ec194 Assert that spinlocks are locked and unlocked on the same processor 2015-02-16 15:41:32 -08:00
Ali Mashtizadeh
0d335ebe20 Cleanup making internal functions static 2015-02-16 13:23:21 -08:00
Ali Mashtizadeh
2bb2090c93 Remove already fixed comment 2015-02-16 13:11:55 -08:00
Ali Mashtizadeh
e1959cf3f2 Ignore empty lines in kernel debugger 2015-02-16 13:04:22 -08:00
Ali Mashtizadeh
4e4490872e Add missing cleanup code in Process_Destroy 2015-02-16 13:03:57 -08:00
Ali Mashtizadeh
220328dd91 Add MP enhancements for the kernel debugger 2015-02-15 20:17:00 -08:00
Ali Mashtizadeh
d5535ded23 Make spinlock stack per-CPU 2015-02-15 20:05:24 -08:00
Ali Mashtizadeh
4ce2388ef2 Basic multiprocessing seems to be working, but some locking issues may remain 2015-02-15 19:15:18 -08:00
Ali Mashtizadeh
73064ffdf6 pthread mutex tests 2015-02-02 13:04:43 -08:00
Ali Mashtizadeh
1ceea3c677 Various bugfixes to Thread_Wait and the pthread library 2015-02-02 11:55:34 -08:00
Ali Mashtizadeh
8b45f56bf5 Fix mmap and expose gettid system call 2015-01-30 20:43:28 -08:00
Ali Mashtizadeh
9251a3b7cc ethinject and plumbing for transmitting raw network packets. 2015-01-28 11:35:47 -08:00
Ali Mashtizadeh
8f24dbe6d0 Plumbing for raw packet reading 2015-01-27 10:34:44 -08:00