doc: describe creating a pflash file for qemu-system-riscv64
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 23 Jan 2025 02:46:51 +0000 (03:46 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 26 Jan 2025 10:06:56 +0000 (11:06 +0100)
U-Boot can be executed in place from a flash device.
Describe how this can be emulated on RISC-V QEMU.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
doc/board/emulation/qemu-riscv.rst

index 8388e13..cf2f893 100644 (file)
@@ -42,6 +42,23 @@ use the configurations qemu-riscv32_smode_defconfig and
 qemu-riscv64_smode_defconfig instead. Note that U-Boot running in supervisor
 mode requires a supervisor binary interface (SBI), such as RISC-V OpenSBI.
 
+To create a U-Boot binary that can be utilized with a pflash device in QEMU
+apply these addtional settings to qemu-riscv64_smode_defconfig:
+
+::
+
+    CONFIG_TEXT_BASE=0x20000000
+    CONFIG_XIP=y
+    # CONFIG_AVAILABLE_HARTS is not set
+    CONFIG_SYS_MONITOR_BASE=0x80200000
+
+Truncate the resulting u-boot.bin to 32 MiB. Add the following to your
+qemu-system-riscv64 command:
+
+.. code-block:: bash
+
+    -drive if=pflash,format=raw,unit=0,file=u-boot.bin
+
 Running U-Boot
 --------------
 The minimal QEMU command line to get U-Boot up and running is: