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