Notes, links and hints that helped me to develop the project.
- Finding addresses of memory devices:
info mtree virtsource code
- RISC-V NS16550A UART driver
- Chardev device options
- Try chardev:
qemu-system-riscv64 -nographic -M virt -cpu rv64 -m 4G -smp $(QEMU_N_HARTS) -serial pty -bios opensbi/output/path/fw_payload.elf -device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3 -S -gdb tcp:localhost:9000
- Memory:
0000000000101000-0000000000101023 (prio 0, i/o): goldfish_rt - Goldfish docs
- Risc-V patch for qemu
- Implementationf of Goldfish in Linux
- Implementation of rtc_time64_to_tm
- Connect via socket:
minicom -D unix\#/tmp/xxx
- riscv-bare-metal - C and assembly files together
- div64 in mathlib linux
- Compiler explorer - generates clean and readable assembly from various languages for various architectures. Brilliant!
- CFI directives in assemblyfiles