Commit graph

60 commits

Author SHA1 Message Date
Imbus
0562c2fe5a Figure out core count in a somewhat sane manner 2025-08-27 22:07:56 +02:00
Imbus
97c13200d2 NCPU to 4 2025-08-27 22:07:38 +02:00
Imbus
265a388c93 Inline nops in spinlock spin routine 2025-08-27 22:07:30 +02:00
Imbus
ee2ddd7e8c Warn for unused results 2025-08-18 11:17:13 +02:00
Imbus
1aed6c0715 Add some notes and links on libc implementations 2025-08-18 11:16:02 +02:00
Imbus
ddddf903dc Notes in ispinlock 2025-08-16 16:12:01 +02:00
Imbus
97e2508516 ispinlock make, phony all 2025-08-16 15:50:38 +02:00
Imbus
b0fe61094d proc calloc 2025-08-16 15:48:08 +02:00
Imbus
39ef34d41e Restructure, use ispinlock 2025-08-16 15:01:01 +02:00
Imbus
608968668b Types 2025-08-16 15:00:01 +02:00
Imbus
74a39e1822 kprint 2025-08-16 14:59:27 +02:00
Imbus
dc0487648a ispinlock 2025-08-16 14:59:24 +02:00
Imbus
6c3030c896 Libkern string 2025-08-16 14:57:54 +02:00
Imbus
f45d2a29fc Clang-format update 2025-08-16 14:47:10 +02:00
Imbus
b8bf28f597 Format 2025-08-08 01:51:32 +02:00
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