oreboot on VisionFive 1 008: cpu'ing around
Channel: Daniel aka CyReVolt 🐢
Date: 2022-08-12

As part of the RISC-V International developer program, I received a StarFive VisionFive board, based on the JH7100 SoC featuring two SiFive U74 cores. My goal is to bring the oreboot port forward that we already had in progress for the predecessor board, the BeagleV. At the same time, I'm sharing the development process with the world doing live streams.

In this video, we recap the concept behind cpu, and pick a prepared LinuxBoot image that immediately offers us cpud, booting via centre's TFTP on the VisionFive. We recap the concept behind cpu, talk about RISC-V CSRs and x86 MSRs, run centre to serve the LinuxBoot image, and then turn on the VisionFive. After a check on the boot process, we run our first commands via cpu, reading out the SoC's temperature, and listing the files in our current directory. We proceed with a closer look at the U-mode CSRs, read out a few of them, and change the float control and status register for experimentation. We end up with a few thoughts on creating mechanisms for reading higher privilege mode registers and a glance at u-apps, a set of userland tools for u-root environments.

Previous video: https://www.youtube.com/watch?v=m-baHfh1ntw&list=PLenOHeTI_A9PSGshDnEc4dYK-GSnCshk6&index=7
Next video: https://www.youtube.com/watch?v=YQ0n15EH5gI&list=PLenOHeTI_A9PSGshDnEc4dYK-GSnCshk6&index=9

Twitch channel: https://twitch.tv/cyrevolt

References:
https://riscv.org/risc-v-developer-boards/
https://groups.google.com/a/riscv.org/g/devboard-community
https://starfivetech.com/en/site/boards
https://starfivetech.com/en/site/archive
https://github.com/starfive-tech
https://github.com/starfive-tech/bootloader_recovery
https://github.com/starfive-tech/JH7100_secondBoot
https://github.com/oreboot/oreboot/tree/main/src/mainboard/seeed/beaglev
https://github.com/starfive-tech/linux
https://www.linuxboot.org/
https://github.com/u-root/cpu
https://github.com/orangecms/hello-linux-rv64-rs/
https://github.com/platform-system-interface/u-apps