blob: fdd464d708be966c56e295189dd5c1469079ba87 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#@TYPE: Machine
Brad Bishop19323692019-04-05 15:28:33 -04002#@NAME: QEMU ARMv8 machine
3#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU
Patrick Williamsc124f4f2015-09-15 14:41:29 -05004
Andrew Geissler1e34c2d2020-05-29 16:02:59 -05005require conf/machine/include/tune-cortexa57.inc
Patrick Williamsc124f4f2015-09-15 14:41:29 -05006require conf/machine/include/qemu.inc
7
Patrick Williamsc124f4f2015-09-15 14:41:29 -05008KERNEL_IMAGETYPE = "Image"
9
Andrew Geissler635e0e42020-08-21 15:58:33 -050010UBOOT_MACHINE ?= "qemu_arm64_defconfig"
11
Brad Bishop19323692019-04-05 15:28:33 -040012SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
Andrew Geissler4ed12e12020-06-05 18:00:41 -050013SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060014
15# For runqemu
16QB_SYSTEM_NAME = "qemu-system-aarch64"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060017QB_MACHINE = "-machine virt"
18QB_CPU = "-cpu cortex-a57"
Andrew Geissler82c905d2020-04-13 13:39:40 -050019QB_CPU_KVM = "-cpu host -machine gic-version=3"
Brad Bishop19323692019-04-05 15:28:33 -040020# Standard Serial console
21QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
22# For graphics to work we need to define the VGA device as well as the necessary USB devices
Andrew Geisslerd25ed322020-06-27 00:28:28 -050023QB_OPT_APPEND = "-device VGA,edid=on"
Brad Bishop19323692019-04-05 15:28:33 -040024QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060025# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
Brad Bishop19323692019-04-05 15:28:33 -040026QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
27# Virtio Networking support
Brad Bishop6e60e8b2018-02-01 10:27:11 -050028QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
29QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
Brad Bishop19323692019-04-05 15:28:33 -040030# Virtio block device
Patrick Williamsc0f7c042017-02-23 20:41:17 -060031QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
Brad Bishop19323692019-04-05 15:28:33 -040032# Virtio serial console
Patrick Williamsc0f7c042017-02-23 20:41:17 -060033QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
Brad Bishop19323692019-04-05 15:28:33 -040034QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"