Commit graph

29 commits

Author SHA1 Message Date
Imbus
5dbcb33726 Some vocabulary in readme 2025-06-26 06:26:25 +02:00
Imbus
58bface3c9 Fix nasty bug related to spinlock panic when lock is already held, because the tread pointer was never set on a per-hart basis. 2025-06-26 06:24:01 +02:00
Imbus
93295eaeb8 Add uart and panic to kernel dependency list 2025-06-26 06:22:59 +02:00
Imbus
74fdd26759 Move uart into its own translation unit 2025-06-26 06:22:16 +02:00
Imbus
f48e74bebe Cosmetic fixes in spinlock 2025-06-26 06:19:58 +02:00
Imbus
f1f480251c Move panic into its own translation unit 2025-06-26 06:19:43 +02:00
Imbus
5948d6c8e8 Some prettier init code 2025-06-26 05:57:35 +02:00
Imbus
a9f7cb8cf7 Some machine specific code for reading and writing registers 2025-06-26 05:57:05 +02:00
Imbus
cda703873b Move some config options from start into config.h 2025-06-26 05:56:41 +02:00
Imbus
ff3ad1e719 Spinlocks and initial proc implementation 2025-06-26 05:56:15 +02:00
Imbus
eb0800c742 Clang format alignment 2025-06-26 05:55:59 +02:00
Imbus
28485acc8f Makefile updated to reflect linker script rename 2025-06-26 05:27:50 +02:00
Imbus
7ca69e391a Moved: link.ld -> kernel.ld 2025-06-26 05:24:09 +02:00
Imbus
ca71791440 Removing debug prints from entry routine. After stacks are set up correctly, this is better handled in C. 2025-06-26 04:25:37 +02:00
Imbus
bdf4228a18 Kernel now links string 2025-06-26 04:23:45 +02:00
Imbus
4512a93249 First draft of a kernel side library, string.h & string.c implementing itoa 2025-06-26 04:23:31 +02:00
Imbus
50a3c8d1d9 riscv.h architecture specific routines, startcode now branches hartid=0 for initialziation and hangs the other cores 2025-06-26 04:21:51 +02:00
Imbus
567e79a4e8 Some shorthand typedef used around the kernel 2025-06-26 04:19:49 +02:00
Imbus
e2a8bf287f UART_BASE is now volatile, preventing unexpected optimizations 2025-06-26 04:05:03 +02:00
Imbus
8959bc87b8 clangd: .clangd file that seems to make clangd behave 2025-06-26 04:04:34 +02:00
Imbus
36cc060411 A simple readme with some help regarding assembly and toolchain setup 2025-06-26 03:25:37 +02:00
Imbus
a0faa469f3 More documentation in start.c 2025-06-26 03:25:22 +02:00
Imbus
d62f9ddd85 Renamed assembly initialization code to _entry instead of _start, to avoid confusing with start() C function 2025-06-26 03:08:28 +02:00
Imbus
dc3de0135e Linker script from upstream ish 2025-06-26 03:07:48 +02:00
Imbus
0c71360d71 Start now lands in an infinite loop 2025-06-26 02:57:54 +02:00
Imbus
2490a4e4df Register clearing as a separate assembly routine in entry.S 2025-06-26 02:57:34 +02:00
Imbus
e101c0910f Extending linker script 2025-06-26 02:57:05 +02:00
Imbus
d90096e177 Fomrat 2025-06-26 02:56:56 +02:00
Imbus
e4d9be3aa7 Minimal viable kernel 2025-06-26 02:43:43 +02:00