I have been playing around with this blog-post https://colatkinson.site/linux/riscv/2021/01/27/riscv-qemu/ and after booting up the machine with this command:
qemu-system-riscv64 \
-machine virt \
-cpu rv64 \
-m 1G \
-device virtio-blk-device,drive=hd \
-drive file=overlay.qcow2,if=none,id=hd \
-device virtio-net-device,netdev=net \
-netdev user,id=net,hostfwd=tcp::2222-:22 \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-object rng-random,filename=/dev/urandom,id=rng \
-device virtio-rng-device,rng=rng \
-append "root=LABEL=rootfs console=ttyS0" \
-nographic
i tried viewing system cache with command lscpu
which showed:
Architecture: riscv64
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0
And no info about TLB caches.
I am assuming that -machine virt is the main source of the problem but every other machine I tried didn't boot up.