1*4882a593Smuzhiyun#@TYPE: Machine 2*4882a593Smuzhiyun#@NAME: QEMU ARMv8 machine 3*4882a593Smuzhiyun#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunrequire conf/machine/include/arm/armv8a/tune-cortexa57.inc 6*4882a593Smuzhiyunrequire conf/machine/include/qemu.inc 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunKERNEL_IMAGETYPE = "Image" 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunUBOOT_MACHINE ?= "qemu_arm64_defconfig" 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunSERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" 13*4882a593SmuzhiyunSERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun# For runqemu 16*4882a593SmuzhiyunQB_SYSTEM_NAME = "qemu-system-aarch64" 17*4882a593SmuzhiyunQB_MACHINE = "-machine virt" 18*4882a593SmuzhiyunQB_CPU = "-cpu cortex-a57" 19*4882a593SmuzhiyunQB_SMP = "-smp 4" 20*4882a593SmuzhiyunQB_CPU_KVM = "-cpu host -machine gic-version=3" 21*4882a593Smuzhiyun# For graphics to work we need to define the VGA device as well as the necessary USB devices 22*4882a593SmuzhiyunQB_GRAPHICS = "-device virtio-gpu-pci" 23*4882a593SmuzhiyunQB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd" 24*4882a593Smuzhiyun# Virtio Networking support 25*4882a593SmuzhiyunQB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" 26*4882a593SmuzhiyunQB_NETWORK_DEVICE = "-device virtio-net-pci,netdev=net0,mac=@MAC@" 27*4882a593Smuzhiyun# Virtio block device 28*4882a593SmuzhiyunQB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=disk0" 29*4882a593Smuzhiyun# Virtio serial console 30*4882a593SmuzhiyunQB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon" 31*4882a593SmuzhiyunQB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" 32