From c7df9ae5f60ef1d36a20dbfbb8b4b0f4cd1a601a Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 4 Jun 2023 17:43:32 +0300 Subject: add some docs about visionfive2 --- README.md | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7216c1a..9d279d6 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ -# `kmi` +# kmi -`kmi` is a ***K***ernel with ***MI***grating threads I've been writing as a hobby project. +`kmi` is a ***K*** ernel with ***MI*** grating threads I've been writing as a hobby project. To see it in action, have a look at [kmi-example](https://github.com/Kimplul/kmi-example). -Currently the kernel only works in `qemu` with RISC-V 64 bit. There is some code for +Currently the kernel has been run on `qemu` with the `virt` board and on a +StarFive VisionFive2 with RISC-V 64 bit. There is some code for RISC-V 32 bit support, but at the moment I'm focusing on 64 bit and 32 is less tested. # Building @@ -40,17 +41,7 @@ runtime when undefined behavior is detected. Only available with `RELEASE=0`. booting the kernel through u-boot's `go` command. This would in theory allow using essentially any precompiled u-boot as a bootloader, but requires some extra effort by the user to manage loading different parts to where they should -go. I should probably come up with a full example, but approximately: - -1. Load `kmi.bin` to address `A` -2. Load `initrd` to address `B` -3. Load FDT to address `C` (either provided by u-boot or a separate file) -4. Add `initrd` to FDT's `chosen` node -5. Boot with `go ${A} ${C}`. - -Note that u-boot likes to skip the `0x` prefix for -hexadecimal values, which can confuse my string converter. -Check that the strings you pass to `go` have their correct prefixes. +go. See `docs/visionfive2.md` for an example. + `run`: Load a test program into `qemu` and run it. Requires some outside support at the moment, please see [kmi-example](https://github.com/Kimplul/kmi-example). -- cgit v1.3