Get familiar with QEMU virtual machine firmware loading, kernel loading workflow.
Write a bare metal firmware for QEMU virt device, which just prints Hello, RISC-V!
Switch to sifive_u, because virt is not well documented!
After some attempts, I found that I had to revert back to virt because sifive_u doesn't support mmio and PCI-E.