Imbus
|
bccc0b5200
|
Nasty unfixed bug related to spinlock panics
|
2025-06-26 14:45:45 +02:00 |
|
Imbus
|
d9896b4229
|
Purge fancy register macros, use inline assembly instead
|
2025-06-26 13:51:22 +02:00 |
|
Imbus
|
d855404c01
|
Revert to legacy mycpu() and cpuid()
|
2025-06-26 13:51:06 +02:00 |
|
Imbus
|
2aa06778b3
|
riscv.h, start.c: Some changed and some new machine specific routines
|
2025-06-26 13:30:45 +02:00 |
|
Imbus
|
b8474a12fc
|
.clang-format: AlignConsecutiveMacros: true
|
2025-06-26 13:28:43 +02:00 |
|
Imbus
|
00bc2aa300
|
Use new API 'read_tp()' in proc.c mycpu()
|
2025-06-26 13:28:08 +02:00 |
|
Imbus
|
bd7959cc6c
|
kalloc.[ch] from xv6, memory.[ch] containing memory probing algorithm and constants
|
2025-06-26 13:27:35 +02:00 |
|
Imbus
|
58ed873401
|
New type in types.h: size_t (u64)
|
2025-06-26 12:04:40 +02:00 |
|
Imbus
|
f2685ce7df
|
Symbol rename in linker.ld: end -> kernel_end
|
2025-06-26 12:04:11 +02:00 |
|
Imbus
|
e82b75f8f0
|
Header: endian.h with endianness conversion functions
|
2025-06-26 12:03:02 +02:00 |
|
Imbus
|
71ff137192
|
Rename struct: spinlock -> Spinlock
|
2025-06-26 12:02:41 +02:00 |
|
Imbus
|
521217f2b5
|
String.[ch]: memset, memcpy, memmove, memcmph and strlen, strnlen
|
2025-06-26 12:01:53 +02:00 |
|
Imbus
|
be50854251
|
proc.c: Simplify mycpu(), remove cpuid() for now as it is only a front for r_tp()
|
2025-06-26 10:29:40 +02:00 |
|
Imbus
|
697a84b370
|
README: Mention xv6, notes on terminology from xv6 book
|
2025-06-26 10:28:31 +02:00 |
|
Imbus
|
4e73eee53e
|
Formatting: string.c
|
2025-06-26 10:07:31 +02:00 |
|
Imbus
|
952eeebb6d
|
Remove trailing extra line
|
2025-06-26 10:06:51 +02:00 |
|
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 |
|