From 68f3353fbd0afabe8b6f1578a624d7ab88aa6f99 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 2 Sep 2025 02:44:21 +0200 Subject: [PATCH 1/5] Bug: fix incorrect reference level --- kern/libkern/stdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kern/libkern/stdio.c b/kern/libkern/stdio.c index 61b740a..c50a0d6 100644 --- a/kern/libkern/stdio.c +++ b/kern/libkern/stdio.c @@ -22,7 +22,7 @@ static int stdout_puts(char *s, int len, void *unused) { int kprintf(const char *restrict fmt, ...) { va_list ap; va_start(ap, fmt); - int ret = kvprintf(fmt, &ap); + int ret = kvprintf(fmt, ap); va_end(ap); return ret; } From 7ba7b9cc6318909e3f14b05099bdd8cdf7e6892b Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 2 Sep 2025 02:47:47 +0200 Subject: [PATCH 2/5] Format will now only check kern --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0f687a6..1d12793 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ clean: find . -type f -name '*.[od(elf)]' -exec rm -f {} + format: - find . -type f -name '*.[ch]' -exec clang-format -i {} + + find kern -type f -name '*.[ch]' -exec clang-format -i {} \; TOOLCHAIN_DIR := toolchain From 8839f06fd28402e8a29cfd028379717c8d4b94f5 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 2 Sep 2025 02:47:51 +0200 Subject: [PATCH 3/5] Formatting --- kern/libkern/stddef.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kern/libkern/stddef.h b/kern/libkern/stddef.h index ab8a2b5..0d70dea 100644 --- a/kern/libkern/stddef.h +++ b/kern/libkern/stddef.h @@ -2,8 +2,7 @@ #define STDDEF_H #ifndef NULL -#define NULL ((void*)0) +#define NULL ((void *)0) #endif #endif // STDDEF_H - From 979080735566dfab25f26dc16fddc37c239d1617 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 2 Sep 2025 02:51:34 +0200 Subject: [PATCH 4/5] Todo --- kern/kalloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kern/kalloc.c b/kern/kalloc.c index 88238ee..dead607 100644 --- a/kern/kalloc.c +++ b/kern/kalloc.c @@ -46,6 +46,7 @@ void kfree(void *pa) { if (((u64)pa % PGSIZE) != 0 || (char *)pa < kernel_end || (u64)pa >= PHYSTOP) PANIC("kfree"); + // TODO: Kconfig this // Fill with junk to catch dangling refs. memset(pa, 1, PGSIZE); From 0e598b7ee05f4449fae700b28e65cdcfda42ba72 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Tue, 2 Sep 2025 02:51:50 +0200 Subject: [PATCH 5/5] Readme: add section about todo --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c2a1e05..cc20fbe 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,9 @@ make distclean # Wipes the above, but also removes toolchain | `mip` | Machine Interrupt Pending | Machine | Indicates pending interrupts. | | `mie` | Machine Interrupt Enable | Machine | Controls which interrupts are enabled. | +### TODO +- Kassert, some macro in the form of `ASSERT(condition, "This went wrong")` + ### Libc Implementations [uClibc](https://uclibc.org/)