qemuarm: Swap for an arm7ve (A15) configuration

Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
moving the old armv5te Versatile PB based machine to qemuarmv5.

The new machine uses the QEMU virt machine type, which should be
faster to emulate and updates the qemuarm support to a modern
architecture.

(From OE-Core rev: 6fc70eb4f3494bee2be10ee24fe3ea1c8b5ff988)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jon Mason
2019-03-05 17:32:19 -05:00
committed by Richard Purdie
parent 40c065800f
commit 6acb45106d
8 changed files with 52 additions and 17 deletions

View File

@@ -1,21 +1,33 @@
#@TYPE: Machine
#@NAME: arm_versatile_926ejs
#@DESCRIPTION: arm_versatile_926ejs
#@NAME: generic Arm Cortex-A15 machine
#@DESCRIPTION: Machine configuration for running a generic armv7
require conf/machine/include/tune-cortexa15.inc
require conf/machine/include/qemu.inc
require conf/machine/include/tune-arm926ejs.inc
#require conf/machine/include/tune-arm1136jf-s.inc
KERNEL_IMAGETYPE = "zImage"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a15"
# 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 = "-show-cursor -device VGA,edid=on"
QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Add the virtio RNG
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
PREFERRED_VERSION_linux-yocto ??= "4.18%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
# 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"
KMACHINE_qemuarm = "qemuarma15"

View File

@@ -0,0 +1,23 @@
#@TYPE: Machine
#@NAME: arm_versatile_926ejs
#@DESCRIPTION: arm_versatile_926ejs
require conf/machine/include/qemu.inc
require conf/machine/include/tune-arm926ejs.inc
#require conf/machine/include/tune-arm1136jf-s.inc
KERNEL_IMAGETYPE = "zImage"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# 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"
PREFERRED_VERSION_linux-yocto ??= "4.18%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE_qemuarmv5 = "qemuarm"

View File

@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarma15|qemuarm64|qemuppc|qemumips)"
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"

View File

@@ -31,7 +31,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarm64|qemuppc|qemumips)"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"

View File

@@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarma15"
# Functionality flags
KERNEL_FEATURES = ""

View File

@@ -24,7 +24,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm"
COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
# Functionality flags
KERNEL_FEATURES = ""

View File

@@ -38,7 +38,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
COMPATIBLE_MACHINE = "qemuarm|qemuarma15|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"

View File

@@ -40,7 +40,7 @@ KCONF_BSP_AUDIT_LEVEL = "2"
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"