Commit Graph

92 Commits

Author SHA1 Message Date
Anton Lydike
43bb013fb5 updated build process to work with newer versions of riscv-unknown-gcc 2022-03-28 23:22:31 +02:00
Anton Lydike
a3cc3cccbd fixed typo in readme 2021-10-10 19:50:53 +02:00
Anton Lydike
999d09359b better programs readme 2021-10-10 19:49:24 +02:00
Anton Lydike
bb13cbeca5 a lot of cleanup, added pmp 2021-09-30 21:55:28 +02:00
Anton Lydike
e69cfa8a5a added threads.h header file for example program 2021-09-30 20:53:01 +02:00
Anton Lydike
a720f34482 removed optimization flags as they broke scheduling 2021-09-30 14:37:51 +02:00
Anton Lydike
f75963f7bb fixed a couple of small bugs 2021-09-30 14:37:26 +02:00
Anton Lydike
9008aa4d78 added example prorgam which creates and joins threads 2021-09-30 14:36:13 +02:00
Anton Lydike
8fdff36c65 changed EABORT to ETIMEOUT for marking timeouts 2021-09-11 09:54:58 +02:00
Anton Lydike
b429c460a1 small changes in formatting for spawn.c example program 2021-08-31 11:47:47 +02:00
Anton Lydike
8dc72a2d8e general cleanup in kernel code removing unised defines etc 2021-08-31 11:46:53 +02:00
Anton Lydike
f479e151cb removed typedef for process control block an renamed struct to match snake case 2021-08-31 11:46:29 +02:00
Anton Lydike
a3712570b0 fixed whitespace in Makefile 2021-08-31 10:26:56 +02:00
Anton Lydike
d0dd6595c3 cleaned up ecall code 2021-08-31 10:26:31 +02:00
Anton Lydike
a7941ce5ae big improvements to spawn.c example program 2021-08-30 20:12:23 +02:00
Anton Lydike
ac329ac147 cleaned up comments in Makefile 2021-08-30 20:11:59 +02:00
Anton Lydike
d97b7b559b more comments and better structure 2021-08-30 20:11:28 +02:00
Anton Lydike
14c2dd95a6 ecall module now kills processes which trigger an exception 2021-08-30 20:11:07 +02:00
Anton Lydike
b08198d166 added .gitignore to example programs 2021-08-26 10:40:05 +02:00
Anton Lydike
5ee37143af made example spawn program exit after child 2021-08-26 10:40:05 +02:00
Anton Lydike
d1bef0f8a1 improved scheduling code 2021-08-26 10:35:56 +02:00
Anton Lydike
df0a944528 Reuse stacks of dead processes
In order to make the stack-space of dead processes usable again, I
addeed a stack data structure which holds unused stack pointers.

When a process is killed, the destructor is called, which will free
the stack associated with the process.
2021-08-23 09:38:28 +02:00
Anton Lydike
1a6abb5e1b added cleanup.sh file that cleans up all source code 2021-08-22 19:55:13 +02:00
Anton Lydike
8560bf6d5b uncrustified example programs 2021-08-22 19:54:58 +02:00
Anton Lydike
31e2b25059 uncrustified kernel 2021-08-22 19:54:25 +02:00
Anton Lydike
4e439f979d applied uncrustify to sched source 2021-08-22 19:53:59 +02:00
Anton Lydike
7302c9c652 applied uncrustify to malloc source 2021-08-22 19:53:59 +02:00
Anton Lydike
0a4c5a93c0 applied uncrustify to ktypes source 2021-08-22 19:53:59 +02:00
Anton Lydike
7246772787 applied uncrustify to io source 2021-08-22 19:53:59 +02:00
Anton Lydike
5128b0376f applied uncrustify to csr source 2021-08-22 19:53:59 +02:00
Anton Lydike
c5afa93bb3 applied uncrustify to ecall source 2021-08-22 19:53:59 +02:00
Anton Lydike
74d22fb542 added uncrustify config for formatting 2021-08-22 19:47:31 +02:00
Anton Lydike
1424776f92 removed trailing whitespaces from package.py 2021-08-22 19:05:50 +02:00
Anton Lydike
f32a8a2b87 added -O3 flag to compilation 2021-08-22 19:05:31 +02:00
Anton Lydike
b5b6b3c57e removed trailing whitespaces in example programs 2021-08-22 19:05:00 +02:00
Anton Lydike
426a6508d1 removed trailing whitespaces 2021-08-22 19:04:15 +02:00
Anton Lydike
c2484838c1 kernel.(c|h) moved debugging code into if (DEBUGGING) section and cleaned up whitespace 2021-08-22 19:03:16 +02:00
Anton Lydike
887056f141 removed unused and unimplemented malloc definitions 2021-08-22 18:37:52 +02:00
Anton Lydike
c71ee1498c cleaned up comments in ktypes header 2021-08-22 18:35:19 +02:00
Anton Lydike
b5893aacab cleaned up ecall code, moved debug statements into a debug check, removed trailing spaces 2021-08-22 18:33:52 +02:00
Anton Lydike
f2e83a61ac added a debugging constant to identify absence of textIO 2021-08-22 13:19:49 +02:00
Anton Lydike
4b31bd9fda made all ecall handlers return optional_int and correctly handle erorrs 2021-08-22 12:55:40 +02:00
Anton Lydike
828ea0c2e2 made itoa and dbgln empty macros if no textIO is available to remove overhead 2021-08-22 12:22:41 +02:00
Anton Lydike
5dccd2dc80 adding comments to scheduling code 2021-08-22 12:02:11 +02:00
Anton Lydike
737a9a1cf3 cleaning up print statements and unusded variables 2021-08-22 11:12:34 +02:00
Anton Lydike
cef79a92aa added end of config comment to package.py 2021-08-21 21:27:27 +02:00
Anton Lydike
4e7a6a20f9 updated readme 2021-08-21 21:27:11 +02:00
Anton Lydike
314da51aaf added various (bad) example programs 2021-08-21 21:24:21 +02:00
Anton Lydike
3b93b864ac various imrpovements and implementations on the kernel 2021-08-21 21:18:03 +02:00
Anton Lydike
61017db51c sched.h: create_new_process - correct function to create a new process in an available spot 2021-08-21 15:29:41 +02:00