
Hi Bin,
On Mon, 2018-09-17 at 13:18 +0800, Bin Meng wrote:
Hi Lukas,
On Mon, Sep 17, 2018 at 5:02 AM Auer, Lukas lukas.auer@aisec.fraunhofer.de wrote:
Hi Bin,
On Mon, 2018-09-10 at 21:54 -0700, Bin Meng wrote:
This adds QEMU RISC-V 'virt' board target support, with the hope of helping people easily test U-Boot on RISC-V.
The QEMU virt machine models a generic RISC-V virtual machine with support for the VirtIO standard networking and block storage devices. It has CLINT, PLIC, 16550A UART devices in addition to VirtIO and it also uses device-tree to pass configuration information to guest software. It implements RISC-V privileged architecture spec v1.10.
Both 32-bit and 64-bit builds are supported. Support is pretty much preliminary, only booting to U-Boot shell with the UART driver on a single core. Booting Linux is not supported yet.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
Reviewed-by: Lukas Auer lukas.auer@aisec.fraunhofer.de
[snip]
diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig new file mode 100644 index 0000000..029f5efb --- /dev/null +++ b/board/emulation/qemu-riscv/Kconfig @@ -0,0 +1,21 @@ +if TARGET_QEMU_VIRT
+config SYS_BOARD
default "qemu-riscv"
+config SYS_VENDOR
default "emulation"
+config SYS_CPU
default "qemu"
+config SYS_CONFIG_NAME
default "qemu-riscv"
+config SYS_TEXT_BASE
default 0x80000000
+config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
Out of curiosity, what is BOARD_SPECIFIC_OPTIONS used for? I see that other boards have included it as well, but I don't see it actually used anywhere.
This option is used to select or imply some board-specific options, mostly drivers, so that we can avoid specifying them in the board defconfig files. I think I should have at least moved the CONFIG_SYS_NS16550 here. I am also working on virtio drivers, and once they are done, these drivers can be implied here too.
Regards, Bin
That makes sense and is a nice way of implementing this. Thanks for the description!
Thanks, Lukas