From: Chunrong Guo Date: Thu, 14 Jun 2018 06:01:51 +0000 (+0800) Subject: qemu-qoriq: add recipes X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=773a7e08837ba6d8bbdba5b486544aa073fba7f6;p=meta-freescale.git qemu-qoriq: add recipes *include the following changes: 6c297a7 - vfio fsl-mc: Expose DPIO cacheable region as cacheable 8e929a8 - fsl-mc: mc-bus device fdt node creation 4be2ad9 - fsl-mc: Add APIs to provide root mc-portal region b1abcf2 - fsl-mc: Add API to provide mc-portals region 22d303a - vfio fsl-mc: Configure and setup irqfd cfc1b9a - vfio fsl-mc: Enable DPMCP emulation c5b28d1 - vfio fsl-mc: Add support to close dpmcp command interface 56353d9 - vfio fsl-mc: Support non dprc/dpmcp command interface on dpmcp 12a9dae - vfio fsl-mc: Add support for dprc command interface on dpmcp a24861b - vfio fsl-mc: Add support to open dpmcp command interface ae9efbb - vfio fsl-mc: forward non-emulated mc commands to VFIO 913ab98 - vfio fsl-mc: Add support of get_obj_irq mc commands 9883a03 - vfio fsl-mc: Add support of set obj_irq mc commands 57db3b4 - vfio fsl-mc: Add support of get_irq mc commands c87c8c1 - vfio fsl-mc: Add support of set_irq mc commands 35413a8 - vfio fsl-mc: Add support of get_obj_region command edca25c - vfio-fsl-mc: Add support of dprc get-attr command 74ca7d2 - vfio-fsl-mc: Add support of dprc open/close command bb895ff - vfio-fsl-mc: Add framework for handling mc-portal commands eb51475 - vfio fsl-mc: Scan dprc container and realize child devices 82a1b97 - vfio-fsl-mc: Register mc-device regions with mc-bus f2a56a1 - vfio fsl-mc: add support for non-dprc device c36e7f6 - vfio fsl-mc: Add nested dprc support be171ec - vfio fsl-mc: framework to support fsl-mc-bus in vfio 16010da - vfio fsl-mc: Sync linux header for fsl-mc device be260fc - fsl-mc: add interfaces to set/get msi messages f9756ce - fsl-mc: Add mc-bus-devices region registration interface 5ae0227 - vfio-fsl-mc: Initialize fsl-mc bus devices device-id 9bdfa45 - fsl-mc: Add mc-bus-devices registration interface c996be1 - fsl-mc: define device-id map for mc-bus devices Signed-off-by: Chunrong Guo Signed-off-by: Otavio Salvador --- diff --git a/recipes-devtools/qemu/qemu-qoriq/memfd.patch b/recipes-devtools/qemu/qemu-qoriq/memfd.patch new file mode 100644 index 00000000..d9e7a455 --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq/memfd.patch @@ -0,0 +1,41 @@ +From d60ecdd94f4054aa0ec615824d5efdb4cebc7db9 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Thu, 19 Apr 2018 11:47:16 +0800 +Subject: [PATCH] memfd + +--- + configure | 2 +- + util/memfd.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/configure b/configure +index be4d326..cb5197c 100755 +--- a/configure ++++ b/configure +@@ -3735,7 +3735,7 @@ fi + # check if memfd is supported + memfd=no + cat > $TMPC << EOF +-#include ++#include + + int main(void) + { +diff --git a/util/memfd.c b/util/memfd.c +index 4571d1a..412e94a 100644 +--- a/util/memfd.c ++++ b/util/memfd.c +@@ -31,9 +31,7 @@ + + #include "qemu/memfd.h" + +-#ifdef CONFIG_MEMFD +-#include +-#elif defined CONFIG_LINUX ++#if defined CONFIG_LINUX && !defined CONFIG_MEMFD + #include + #include + +-- +2.7.4 + diff --git a/recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin b/recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin new file mode 100644 index 00000000..c4044296 Binary files /dev/null and b/recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin differ diff --git a/recipes-devtools/qemu/qemu-qoriq/run-ptest b/recipes-devtools/qemu/qemu-qoriq/run-ptest new file mode 100644 index 00000000..2206b319 --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh +# +#This script is used to run qemu test suites +# + +ptestdir=$(dirname "$(readlink -f "$0")") +export SRC_PATH=$ptestdir + +cd $ptestdir/tests +make -f Makefile.include -k runtest-TESTS | sed '/: OK/ s/^/PASS: /g' diff --git a/recipes-devtools/qemu/qemu-qoriq_git.bb b/recipes-devtools/qemu/qemu-qoriq_git.bb new file mode 100644 index 00000000..7423b542 --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq_git.bb @@ -0,0 +1,72 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +require recipes-devtools/qemu/qemu.inc + +inherit ptest + +RDEPENDS_${PN}-ptest = "bash make" + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" + +SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/qemu;nobranch=1 \ + file://powerpc_rom.bin \ + file://run-ptest \ + file://memfd.patch \ + " + +SRCREV = "6c297a7ddd355d499ddd31353a763d57a092f851" + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST_mipsarchn32 = "null" +COMPATIBLE_HOST_mipsarchn64 = "null" + +PROVIDES = "qemu" + +python() { + pkgs = d.getVar('PACKAGES', True).split() + for p in pkgs: + if 'qemu-qoriq' in p: + d.appendVar("RPROVIDES_%s" % p, p.replace('qemu-qoriq', 'qemu')) + d.appendVar("RCONFLICTS_%s" % p, p.replace('qemu-qoriq', 'qemu')) + d.appendVar("RREPLACES_%s" % p, p.replace('qemu-qoriq', 'qemu')) +} + +PPC_OECONF = '--enable-fdt --enable-kvm --with-system-pixman --disable-werror' +EXTRA_OECONF_qoriq-arm64 = "--prefix=${prefix} --target-list=aarch64-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror" +EXTRA_OECONF_qoriq-arm = "--prefix=${prefix} --target-list=arm-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror" +EXTRA_OECONF_e5500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}" +EXTRA_OECONF_e6500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}" +EXTRA_OECONF_e6500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}" +EXTRA_OECONF_e5500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}" +EXTRA_OECONF_e500v2 = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}" +EXTRA_OECONF_e500mc = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}" + +DISABLE_STATIC = "" + +do_install_append() { + # Prevent QA warnings about installed ${localstatedir}/run + if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi + install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu +} + +do_compile_ptest() { + make buildtest-TESTS +} + +do_install_ptest() { + cp -rL ${B}/tests ${D}${PTEST_PATH} + find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {} + + cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests + # Don't check the file genreated by configure + sed -i -e '/wildcard config-host.mak/d' \ + -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include +} + +INSANE_SKIP_${PN} += "already-stripped" +FILES_${PN} += "/usr/share/qemu/* /usr/var/*" + +# FIXME: Avoid WARNING due missing patch for native/nativesdk +BBCLASSEXTEND = ""