1*f3fd288eSBrad BishopPREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
2*f3fd288eSBrad Bishop
3*f3fd288eSBrad Bishoprequire conf/machine/include/qemu.inc
4*f3fd288eSBrad Bishoprequire conf/machine/include/riscv/tune-riscv.inc
5*f3fd288eSBrad Bishop
6*f3fd288eSBrad BishopMACHINE_FEATURES = "screen keyboard ext2 ext3 serial"
7*f3fd288eSBrad Bishop
8*f3fd288eSBrad BishopKERNEL_IMAGETYPE = "Image"
9*f3fd288eSBrad BishopKERNEL_IMAGETYPES += "uImage"
10*f3fd288eSBrad BishopKEEPUIMAGE = "no"
11*f3fd288eSBrad Bishop
12*f3fd288eSBrad BishopSERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
13*f3fd288eSBrad Bishop
14*f3fd288eSBrad BishopIMAGE_FSTYPES_append = " ext4"
15*f3fd288eSBrad Bishop
16*f3fd288eSBrad BishopMACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
17*f3fd288eSBrad Bishop
18*f3fd288eSBrad BishopEXTRA_IMAGEDEPENDS += "opensbi"
19*f3fd288eSBrad BishopRISCV_SBI_PLAT ?= "qemu/virt"
20*f3fd288eSBrad BishopRISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
21*f3fd288eSBrad Bishop
22*f3fd288eSBrad BishopUBOOT_ENTRYPOINT_riscv32 = "0x80400000"
23*f3fd288eSBrad BishopUBOOT_ENTRYPOINT_riscv64 = "0x80200000"
24*f3fd288eSBrad Bishop
25*f3fd288eSBrad Bishop# qemuboot options
26*f3fd288eSBrad BishopQB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
27*f3fd288eSBrad BishopQB_MEM = "-m 512"
28*f3fd288eSBrad BishopQB_MACHINE = "-machine virt"
29*f3fd288eSBrad BishopQB_DEFAULT_KERNEL = "fw_jump.elf"
30*f3fd288eSBrad BishopQB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
31*f3fd288eSBrad BishopQB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
32*f3fd288eSBrad BishopQB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
33*f3fd288eSBrad BishopQB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
34*f3fd288eSBrad BishopQB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
35*f3fd288eSBrad Bishop# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
36*f3fd288eSBrad BishopQB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
37*f3fd288eSBrad Bishop
38*f3fd288eSBrad BishopBAD_RECOMMENDATIONS += "\
39*f3fd288eSBrad Bishop    libcxx-dev \
40*f3fd288eSBrad Bishop    libcxx-staticdev \
41*f3fd288eSBrad Bishop    compiler-rt-dev \
42*f3fd288eSBrad Bishop    compiler-rt-staticdev \
43*f3fd288eSBrad Bishop"
44*f3fd288eSBrad Bishop
45*f3fd288eSBrad BishopASSUME_PROVIDED += "\
46*f3fd288eSBrad Bishop    libcxx-dev \
47*f3fd288eSBrad Bishop    libcxx-staticdev \
48*f3fd288eSBrad Bishop    compiler-rt-dev \
49*f3fd288eSBrad Bishop    compiler-rt-staticdev \
50*f3fd288eSBrad Bishop"
51