| #@TYPE: Machine |
| #@NAME: QEMU ARMv8 machine |
| #@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU |
| |
| require conf/machine/include/tune-cortexa57.inc |
| require conf/machine/include/qemu.inc |
| |
| KERNEL_IMAGETYPE = "Image" |
| |
| UBOOT_MACHINE ?= "qemu_arm64_defconfig" |
| |
| SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" |
| SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" |
| |
| # For runqemu |
| QB_SYSTEM_NAME = "qemu-system-aarch64" |
| QB_MACHINE = "-machine virt" |
| QB_CPU = "-cpu cortex-a57" |
| QB_CPU_KVM = "-cpu host -machine gic-version=3" |
| # Standard Serial console |
| QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0" |
| # For graphics to work we need to define the VGA device as well as the necessary USB devices |
| QB_OPT_APPEND = "-device VGA,edid=on" |
| QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" |
| # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy |
| QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" |
| # Virtio Networking support |
| QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" |
| QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" |
| # Virtio block device |
| QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" |
| # Virtio serial console |
| QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" |
| QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" |