Commit Graph

75 Commits

Author SHA1 Message Date
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
Anton Lydike
ef854fba54 made error codes positive numbers 2021-08-21 15:27:55 +02:00
Anton Lydike
409a993d77 removed lib as it was out of date and discontinued 2021-08-21 12:54:31 +02:00
Anton Lydike
efb372cb5f added .rdata and .rodata sections to packaging script 2021-08-21 12:53:36 +02:00
Anton Lydike
601b507370 switched boot.S to use csr.h constants for csr addresses 2021-08-21 12:18:20 +02:00
Anton Lydike
a25c28d661 added bundled version of kernel types in ktypes.h 2021-08-21 12:17:53 +02:00
Anton Lydike
b979ab9b04 switched kernel init to use malloc with optionals 2021-08-21 12:17:22 +02:00
Anton Lydike
c8c19f298a bundled all types into ktypes.h and added optionals 2021-08-21 12:17:04 +02:00
Anton Lydike
b6d967262a improvments to debugging symbols emitted by package.py script 2021-08-21 11:15:59 +02:00
Anton Lydike
7894808e09 removed current_process_index in scheduling in favour of pointers 2021-08-21 11:15:30 +02:00
Anton Lydike
16d0c05272 starting all available binaries as processes on kernel startup 2021-08-21 11:13:12 +02:00
Anton Lydike
a0c3a57921 added placeholder malloc_stack as malloc precursor 2021-08-21 11:12:44 +02:00
Anton Lydike
1e472d2a4a small linker.ld fixes for _start section and global pointer 2021-08-21 11:08:57 +02:00
Anton Lydike
26e70d2f60 added TextIO module for outputting text 2021-08-21 11:08:03 +02:00
Anton Lydike
ab19abe12b kernel scheduling now working better with ecalls, not resetting the time slice 2021-08-19 15:30:07 +02:00
Anton Lydike
d7b5a1b8d0 cleaned packaging script up and added debug symbols 2021-08-19 15:29:25 +02:00
Anton Lydike
b5a26ba0c7 added .img files to gitignore 2021-08-18 13:19:03 +02:00
Anton Lydike
c0f5de14ac fixed packaging script
- added more sections to the included sections list
- fixed imports
- better output
- fixed argument usage
2021-08-18 13:18:51 +02:00