Commit Graph

48 Commits

Author SHA1 Message Date
Anton Lydike
bb13cbeca5 a lot of cleanup, added pmp 2021-09-30 21:55:28 +02:00
Anton Lydike
f75963f7bb fixed a couple of small bugs 2021-09-30 14:37:26 +02:00
Anton Lydike
8fdff36c65 changed EABORT to ETIMEOUT for marking timeouts 2021-09-11 09:54:58 +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
d0dd6595c3 cleaned up ecall code 2021-08-31 10:26:31 +02:00
Anton Lydike
14c2dd95a6 ecall module now kills processes which trigger an exception 2021-08-30 20:11:07 +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
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
426a6508d1 removed trailing whitespaces 2021-08-22 19:04:15 +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
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
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
c8c19f298a bundled all types into ktypes.h and added optionals 2021-08-21 12:17:04 +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
a0c3a57921 added placeholder malloc_stack as malloc precursor 2021-08-21 11:12:44 +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
ce9c6e6cfb started properly implementing syscall structure 2021-08-18 12:39:01 +02:00
Anton Lydike
962b209f30 switched to a real linker script 2021-08-17 13:15:50 +02:00
Anton Lydike
31339216b7 fixed missing semicolon in sched.h 2021-08-17 10:56:48 +02:00
Anton Lydike
1b0ee53e4e removed unused parts of boot.S and changed ordering in boot process 2021-08-17 09:15:42 +02:00
Anton Lydike
06f8cfd279 removed mutex kernel code 2021-08-17 09:15:42 +02:00
Anton Lydike
d9625b445a cleaned up scheduling and boot code 2021-08-17 09:09:43 +02:00
Anton Lydike
cfd74e66b4 fixed assembly format of read_time and write_mtimecmp 2021-08-16 17:22:09 +02:00
Anton Lydike
cfc1c5c74b removing mutex syscalls 2021-08-16 12:57:59 +02:00
Anton Lydike
1cf5458247 added memset for non-rv32m environments 2021-07-16 22:27:32 +02:00
Anton Lydike
b2dab6cb37 added config options to makefile - now able to build various variations 2021-07-16 22:26:55 +02:00
Anton Lydike
37380ee055 added comment for jump to init 2021-07-16 19:59:20 +02:00
Anton Lydike
a8aa7a8f7c implemented a smart memset routine, use it to clear bss, and halt after returning from init 2021-07-16 19:58:45 +02:00
Anton Lydike
d3f3adbf40 using my own linker now 2021-07-16 19:54:08 +02:00
Anton Lydike
8d0178aff1 initial commit 2021-06-21 11:12:33 +02:00