summaryrefslogtreecommitdiff
path: root/include/configs/qemu-riscv.h
diff options
context:
space:
mode:
authorLukas Auer <lukas.auer@aisec.fraunhofer.de>2018-11-22 11:26:36 +0100
committerAndes <uboot@andestech.com>2018-11-26 13:57:33 +0800
commit66ffe5783b6340977ead5782cce9b63edfc0e348 (patch)
tree7ed1c06db8b5a625b6d041ba75d39e7a764483e3 /include/configs/qemu-riscv.h
parentafb301295363391f588f37696c27795cd7c0ffc4 (diff)
riscv: qemu: detect and boot the kernel passed by QEMU
QEMU embeds the location of the kernel image in the device tree. Store this address in the environment as variable kernel_start. It is used in the board-local distro boot command QEMU to boot the kernel with the U-Boot device tree. The QEMU boot command is added as the first boot target device. 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>
Diffstat (limited to 'include/configs/qemu-riscv.h')
-rw-r--r--include/configs/qemu-riscv.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h
index 66d61bd896..b29d155d09 100644
--- a/include/configs/qemu-riscv.h
+++ b/include/configs/qemu-riscv.h
@@ -21,11 +21,21 @@
#define CONFIG_ENV_SIZE SZ_4K
#define BOOT_TARGET_DEVICES(func) \
+ func(QEMU, qemu, na) \
func(VIRTIO, virtio, 0) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
+#define BOOTENV_DEV_QEMU(devtypeu, devtypel, instance) \
+ "bootcmd_qemu=" \
+ "if env exists kernel_start; then " \
+ "bootm ${kernel_start} - ${fdtcontroladdr};" \
+ "fi;\0"
+
+#define BOOTENV_DEV_NAME_QEMU(devtypeu, devtypel, instance) \
+ "qemu "
+
#define CONFIG_EXTRA_ENV_SETTINGS \
"fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \