瀏覽代碼

riscv: qemu: enable distro boot

Enable distro boot on the qemu-riscv32/64 boards. Supported boot target
devices are VirtIO and DHCP.

Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Lukas Auer 5 年之前
父節點
當前提交
111ab36fb6
共有 3 個文件被更改,包括 17 次插入1 次删除
  1. 2 0
      configs/qemu-riscv32_defconfig
  2. 2 0
      configs/qemu-riscv64_defconfig
  3. 13 1
      include/configs/qemu-riscv.h

+ 2 - 0
configs/qemu-riscv32_defconfig

@@ -1,7 +1,9 @@
 CONFIG_RISCV=y
 CONFIG_TARGET_QEMU_VIRT=y
+CONFIG_DISTRO_DEFAULTS=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
+# CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y

+ 2 - 0
configs/qemu-riscv64_defconfig

@@ -1,8 +1,10 @@
 CONFIG_RISCV=y
 CONFIG_TARGET_QEMU_VIRT=y
 CONFIG_ARCH_RV64I=y
+CONFIG_DISTRO_DEFAULTS=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
+# CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y

+ 13 - 1
include/configs/qemu-riscv.h

@@ -20,8 +20,20 @@
 /* Environment options */
 #define CONFIG_ENV_SIZE			SZ_4K
 
+#define BOOT_TARGET_DEVICES(func) \
+	func(VIRTIO, virtio, 0) \
+	func(DHCP, dhcp, na)
+
+#include <config_distro_bootcmd.h>
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"fdt_high=0xffffffffffffffff\0" \
-	"initrd_high=0xffffffffffffffff\0"
+	"initrd_high=0xffffffffffffffff\0" \
+	"kernel_addr_r=0x81000000\0" \
+	"fdt_addr_r=0x82000000\0" \
+	"scriptaddr=0x82100000\0" \
+	"pxefile_addr_r=0x82200000\0" \
+	"ramdisk_addr_r=0x82300000\0" \
+	BOOTENV
 
 #endif /* __CONFIG_H */