Add new QEMU BSP for a Arm Cortex-A15 system. This uses the QEMU virt machine type, which should be faster to emulate.
Signed-off-by: Jon Mason <jdma...@kudzu.us> --- meta/conf/machine/qemuarma15.conf | 33 +++++++++++++++++++ .../linux/linux-yocto-rt_4.19.bb | 2 +- .../linux/linux-yocto-tiny_4.19.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.19.bb | 2 +- 4 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 meta/conf/machine/qemuarma15.conf diff --git a/meta/conf/machine/qemuarma15.conf b/meta/conf/machine/qemuarma15.conf new file mode 100644 index 0000000000..f8ab9d5538 --- /dev/null +++ b/meta/conf/machine/qemuarma15.conf @@ -0,0 +1,33 @@ +#@TYPE: Machine +#@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 + +KERNEL_IMAGETYPE = "zImage" + +SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0" + +# For runqemu +QB_SYSTEM_NAME = "qemu-system-arm" +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" +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" +# 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" + +PREFERRED_VERSION_linux-yocto ?= "4.19%" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb index 07dc5b77a1..36761b9943 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb @@ -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" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb index c6d1594a82..52dbabd7a4 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb @@ -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 = "" diff --git a/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/meta/recipes-kernel/linux/linux-yocto_4.19.bb index 8a4355ee83..3ef26a12ba 100644 --- a/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -37,7 +37,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" -- 2.17.2 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core