Commit graph

  • 52f88785c4 Pin to gnu99 Imbus 2025-09-01 23:09:13 +02:00
  • 23a41dfbdd Split some cflags Imbus 2025-09-01 23:05:31 +02:00
  • c8abe9e1aa Put bool into stdbool.h Imbus 2025-09-01 23:05:23 +02:00
  • b24035c51f Branch out all kernel objects into a KERNEL_OBJ variable Imbus 2025-09-01 22:57:48 +02:00
  • ca844d89e4 Remove junk main from makefile Imbus 2025-09-01 22:57:31 +02:00
  • 1c279c9d4d Note about mini-printf Imbus 2025-09-01 22:53:31 +02:00
  • 4bb015745a Yeet kprint Imbus 2025-09-01 22:47:55 +02:00
  • f1fd7de79f Mass reformat Imbus 2025-09-01 22:43:50 +02:00
  • 3450ab2cb8 Format target Imbus 2025-09-01 22:43:19 +02:00
  • 3a476fa195 bool Imbus 2025-09-01 22:42:18 +02:00
  • 85ffed0c20 Unify spinlocks Imbus 2025-09-01 22:38:50 +02:00
  • c1a2c75054 Fix qemu target Imbus 2025-09-01 22:33:03 +02:00
  • b9f3a25595 Move kernel.elf into kern Imbus 2025-09-01 22:29:55 +02:00
  • 438f85dc79 fd -> find Imbus 2025-09-01 22:25:24 +02:00
  • a79af996e1 Move kernel related files into kernel Imbus 2025-09-01 22:24:15 +02:00
  • f28082f98f Ignore toolchain Imbus 2025-09-01 22:22:40 +02:00
  • c52e19de83 Major restructure Imbus 2025-09-01 22:22:35 +02:00
  • 3f74e55322 Alias dev Imbus 2025-09-01 21:51:24 +02:00
  • 13b91e7aae Bad makefile Imbus 2025-09-01 21:51:14 +02:00
  • 2830ad60e1 Toolchain ignore Imbus 2025-09-01 21:50:46 +02:00
  • ae356930d8 Renames Imbus 2025-09-01 21:50:22 +02:00
  • ea016307cf Moves Imbus 2025-09-01 21:50:15 +02:00
  • d078e7fb93 Moves Imbus 2025-09-01 21:50:05 +02:00
  • 0562c2fe5a Figure out core count in a somewhat sane manner Imbus 2025-08-27 22:07:56 +02:00
  • 97c13200d2 NCPU to 4 Imbus 2025-08-27 22:07:38 +02:00
  • 265a388c93 Inline nops in spinlock spin routine Imbus 2025-08-27 22:07:30 +02:00
  • ee2ddd7e8c Warn for unused results Imbus 2025-08-18 11:17:10 +02:00
  • 1aed6c0715 Add some notes and links on libc implementations Imbus 2025-08-18 11:16:02 +02:00
  • ddddf903dc Notes in ispinlock Imbus 2025-08-16 16:12:01 +02:00
  • 97e2508516 ispinlock make, phony all Imbus 2025-08-16 15:50:38 +02:00
  • b0fe61094d proc calloc Imbus 2025-08-16 15:48:08 +02:00
  • 39ef34d41e Restructure, use ispinlock Imbus 2025-08-16 15:01:01 +02:00
  • 608968668b Types Imbus 2025-08-16 15:00:01 +02:00
  • 74a39e1822 kprint Imbus 2025-08-16 14:59:27 +02:00
  • dc0487648a ispinlock Imbus 2025-08-16 14:59:24 +02:00
  • 6c3030c896 Libkern string Imbus 2025-08-16 14:57:54 +02:00
  • f45d2a29fc Clang-format update Imbus 2025-08-16 14:47:10 +02:00
  • b8bf28f597 Format Imbus 2025-08-08 01:51:32 +02:00
  • bccc0b5200 Nasty unfixed bug related to spinlock panics Imbus 2025-06-26 14:45:45 +02:00
  • d9896b4229 Purge fancy register macros, use inline assembly instead Imbus 2025-06-26 13:51:22 +02:00
  • d855404c01 Revert to legacy mycpu() and cpuid() Imbus 2025-06-26 13:51:06 +02:00
  • 2aa06778b3 riscv.h, start.c: Some changed and some new machine specific routines Imbus 2025-06-26 13:30:45 +02:00
  • b8474a12fc .clang-format: AlignConsecutiveMacros: true Imbus 2025-06-26 13:28:43 +02:00
  • 00bc2aa300 Use new API 'read_tp()' in proc.c mycpu() Imbus 2025-06-26 13:28:08 +02:00
  • bd7959cc6c kalloc.[ch] from xv6, memory.[ch] containing memory probing algorithm and constants Imbus 2025-06-26 13:27:35 +02:00
  • 58ed873401 New type in types.h: size_t (u64) Imbus 2025-06-26 12:04:40 +02:00
  • f2685ce7df Symbol rename in linker.ld: end -> kernel_end Imbus 2025-06-26 12:04:11 +02:00
  • e82b75f8f0 Header: endian.h with endianness conversion functions Imbus 2025-06-26 12:03:02 +02:00
  • 71ff137192 Rename struct: spinlock -> Spinlock Imbus 2025-06-26 12:02:41 +02:00
  • 521217f2b5 String.[ch]: memset, memcpy, memmove, memcmph and strlen, strnlen Imbus 2025-06-26 12:01:53 +02:00
  • be50854251 proc.c: Simplify mycpu(), remove cpuid() for now as it is only a front for r_tp() Imbus 2025-06-26 10:29:40 +02:00
  • 697a84b370 README: Mention xv6, notes on terminology from xv6 book Imbus 2025-06-26 10:28:31 +02:00
  • 4e73eee53e Formatting: string.c Imbus 2025-06-26 10:07:31 +02:00
  • 952eeebb6d Remove trailing extra line Imbus 2025-06-26 10:06:51 +02:00
  • 5dbcb33726 Some vocabulary in readme v0.0.2 Imbus 2025-06-26 06:26:25 +02:00
  • 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. Imbus 2025-06-26 06:24:01 +02:00
  • 93295eaeb8 Add uart and panic to kernel dependency list Imbus 2025-06-26 06:22:59 +02:00
  • 74fdd26759 Move uart into its own translation unit Imbus 2025-06-26 06:22:16 +02:00
  • f48e74bebe Cosmetic fixes in spinlock Imbus 2025-06-26 06:19:58 +02:00
  • f1f480251c Move panic into its own translation unit Imbus 2025-06-26 06:19:43 +02:00
  • 5948d6c8e8 Some prettier init code Imbus 2025-06-26 05:57:35 +02:00
  • a9f7cb8cf7 Some machine specific code for reading and writing registers Imbus 2025-06-26 05:57:05 +02:00
  • cda703873b Move some config options from start into config.h Imbus 2025-06-26 05:56:41 +02:00
  • ff3ad1e719 Spinlocks and initial proc implementation Imbus 2025-06-26 05:56:15 +02:00
  • eb0800c742 Clang format alignment Imbus 2025-06-26 05:55:59 +02:00
  • 28485acc8f Makefile updated to reflect linker script rename Imbus 2025-06-26 05:27:50 +02:00
  • 7ca69e391a Moved: link.ld -> kernel.ld Imbus 2025-06-26 05:24:09 +02:00
  • ca71791440 Removing debug prints from entry routine. After stacks are set up correctly, this is better handled in C. Imbus 2025-06-26 04:25:37 +02:00
  • bdf4228a18 Kernel now links string Imbus 2025-06-26 04:23:45 +02:00
  • 4512a93249 First draft of a kernel side library, string.h & string.c implementing itoa Imbus 2025-06-26 04:23:31 +02:00
  • 50a3c8d1d9 riscv.h architecture specific routines, startcode now branches hartid=0 for initialziation and hangs the other cores Imbus 2025-06-26 04:21:51 +02:00
  • 567e79a4e8 Some shorthand typedef used around the kernel Imbus 2025-06-26 04:19:49 +02:00
  • e2a8bf287f UART_BASE is now volatile, preventing unexpected optimizations Imbus 2025-06-26 04:05:03 +02:00
  • 8959bc87b8 clangd: .clangd file that seems to make clangd behave Imbus 2025-06-26 04:04:34 +02:00
  • 36cc060411 A simple readme with some help regarding assembly and toolchain setup v0.0.1 Imbus 2025-06-26 03:25:37 +02:00
  • a0faa469f3 More documentation in start.c Imbus 2025-06-26 03:25:22 +02:00
  • d62f9ddd85 Renamed assembly initialization code to _entry instead of _start, to avoid confusing with start() C function Imbus 2025-06-26 03:08:28 +02:00
  • dc3de0135e Linker script from upstream ish Imbus 2025-06-26 03:07:48 +02:00
  • 0c71360d71 Start now lands in an infinite loop Imbus 2025-06-26 02:57:54 +02:00
  • 2490a4e4df Register clearing as a separate assembly routine in entry.S Imbus 2025-06-26 02:57:34 +02:00
  • e101c0910f Extending linker script Imbus 2025-06-26 02:57:05 +02:00
  • d90096e177 Fomrat Imbus 2025-06-26 02:56:56 +02:00
  • e4d9be3aa7 Minimal viable kernel Imbus 2025-06-26 02:43:43 +02:00