1PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
2
3require conf/machine/include/qemu.inc
4require conf/machine/include/riscv/tune-riscv.inc
5
6MACHINE_FEATURES = "screen keyboard ext2 ext3 serial"
7
8KERNEL_IMAGETYPE = "Image"
9KERNEL_IMAGETYPES += "uImage"
10KEEPUIMAGE = "no"
11
12SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
13
14IMAGE_FSTYPES += "ext4 wic.qcow2"
15
16WKS_FILE ?= "qemuriscv.wks"
17
18MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
19
20EXTRA_IMAGEDEPENDS += "opensbi"
21RISCV_SBI_PLAT ?= "qemu/virt"
22RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
23
24UBOOT_ENTRYPOINT_riscv32 = "0x80400000"
25UBOOT_ENTRYPOINT_riscv64 = "0x80200000"
26
27# qemuboot options
28QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
29QB_MACHINE = "-machine virt"
30QB_DEFAULT_BIOS = "fw_jump.elf"
31QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
32QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
33QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
34QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
35QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
36# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
37QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
38
39BAD_RECOMMENDATIONS += "\
40    libcxx-dev \
41    libcxx-staticdev \
42    compiler-rt-dev \
43    compiler-rt-staticdev \
44"
45
46ASSUME_PROVIDED += "\
47    libcxx-dev \
48    libcxx-staticdev \
49    compiler-rt-dev \
50    compiler-rt-staticdev \
51"
52