Go to file
Rodrigo Arias Mallo 806023778b Initialize UART in bootrom
Unless the UART is properly initialized, the console won't display any
message until a next stage intializes it (OpenSBI) and then we will
start to see messages after uploading the next bootroms.

Follows the OpenSBI initialization for the UART setting the baud rate to
115200 and assuming a clock of 50 MHz.
2024-08-23 18:13:48 +02:00
bootrom Initialize UART in bootrom 2024-08-23 18:13:48 +02:00
fpga Build OpenSBI with the generic platform 2024-07-12 12:20:03 +02:00
.gitignore Ignore misc directory 2024-07-03 13:10:06 +02:00
alveo-uart-sbi-hack.patch Working OpenSBI 1.2 2024-06-27 11:29:15 +02:00
boot.sh Format the qcow2 image with ext4 2024-01-25 15:34:59 +01:00
busybox-debug.patch Add busybox patch to see debug lines: initrd sh ok 2024-07-03 13:43:41 +02:00
configuration.nix Remove rvb dependency for now to avoid clang 2024-07-05 16:54:14 +02:00
csrtool.c Add csrtool to view and change CSR registers 2024-07-08 19:19:05 +02:00
flake.lock flake.lock: Update 2024-07-05 16:31:08 +02:00
flake.nix Add bootrom support 2024-07-08 18:11:11 +02:00
JOURNAL.md Add FPGA baremetal tests 2024-08-22 17:12:42 +02:00
lagarto-hun.nix WIP 2024-05-28 18:12:14 +02:00
lagarto-ox.nix Switch to rbootrom 2024-08-23 16:06:21 +02:00
memtool.c Add fill mode in memtool 2024-07-10 11:05:20 +02:00
no-compressed.nix Add no compressed specific overlay 2024-03-07 12:04:05 +01:00
NOTES.md Add notes about kernel config file 2024-03-04 14:45:53 +01:00
opensbi-dont-delegate.patch Always enable external machine mode interrupts 2024-08-02 10:33:31 +02:00
opensbi-dump-mregs.patch Dump machine registers in OpenSBI 2024-08-21 07:14:23 +02:00
opensbi-enable-meip.patch Enable MEIP in OpenSBI 2024-08-03 14:55:35 +02:00
opensbi-enable-seip.patch Enable also MEIE and MIE 2024-08-21 08:16:14 +02:00
opensbi-lagarto-hun.patch WIP 2024-05-28 18:12:14 +02:00
opensbi-test-plic.patch Enable machine mode interrupts 2024-08-21 12:29:52 +02:00
opensbi-timer-debug.patch Reduce OpenSBI trap debug message 2024-07-12 17:50:22 +02:00
overlay.nix Add custom bootrom 2024-08-23 16:06:21 +02:00
ox-alveo-platform-plic.patch Revert UART speed to 50MHz following vivado log 2024-07-04 17:57:26 +02:00
ox-alveo-platform.patch Working OpenSBI 1.2 2024-06-27 11:29:15 +02:00
ox-plic.dts More experiments with OpenSBI 1.5 with debug 2024-07-15 11:02:27 +02:00
ox.dts Reached U-Boot console with FDT parsing error 2024-06-27 16:08:30 +02:00
README.md Update readme with uboot instructions 2024-03-07 16:52:28 +01:00
sa-fpga-crt.patch Add FPGA baremetal tests 2024-08-22 17:12:42 +02:00
sa-fpga-text-address.patch Add FPGA baremetal tests 2024-08-22 17:12:42 +02:00
sa-fpga-uart.patch Add UART patch for FPGA in sa-fpga tests 2024-08-23 13:23:33 +02:00
stage2.log Reached stage2! 2024-07-08 08:49:21 +02:00
u-boot-debug.patch Reached U-Boot console with FDT parsing error 2024-06-27 16:08:30 +02:00
uboot-debug-ext-interrupts.patch Delegate external interrupts to U-Boot 2024-08-02 12:15:47 +02:00
uboot-exception-extras.patch Restore stvec to its original value 2024-08-21 06:24:42 +02:00
unalign.c WIP 2024-05-28 18:12:14 +02:00
vm.nix WIP 2024-05-28 18:12:14 +02:00
xavi.dts Reached working U-Boot prompt 2024-06-27 17:58:21 +02:00

NixOS on RISC-V

This repository contains NixOS configurations for different RISC-V machines.

QEMU

To boot the system in QEMU, first enter the development shell:

$ nix develop

Then run the boot script:

$ ./boot.sh

To prevent the GC from erasing the system:

$ nix build .#devShells.x86_64-linux.default --out-link result-env

Lagarto Hun on FPGA Alveo U55C

First build required dependencies:

$ nix develop '.#lagarto-hun'

Then upload to destination:

$ fpga/upload.sh

And then boot the system there:

cucu$ ./boot.sh
...

In the U-Boot prompt, paste the commands of the uboot.env file.