Commit graph

  • bccc0b5200 Nasty unfixed bug related to spinlock panics master 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