Now that we use LLVM 9, RISC-V support in LLVM has far fewer bugs and we can avoid the GNU toolchain. * replace GNU linker with lld * replace GCC with clang Additionally, RISC-V was promoted to stable so it can be enabled by default in CI.
This simplifies adding more baremetal targets, like a GameBoy Advance, or baremetal x86 for unikernels.
This page has been a big help in adding support for this new chip: https://wiki.osdev.org/HiFive-1_Bare_Bones