[meta-freescale] [PATCH] qemu-qoriq: add recipes

chunrong.guo at nxp.com chunrong.guo at nxp.com
Wed Jun 13 23:01:51 PDT 2018


From: Chunrong Guo <chunrong.guo at nxp.com>

*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 <chunrong.guo at nxp.com>
---
 recipes-devtools/qemu/qemu-qoriq/memfd.patch     |  41 +++++++++++++
 recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin | Bin 0 -> 4096 bytes
 recipes-devtools/qemu/qemu-qoriq/run-ptest       |  10 ++++
 recipes-devtools/qemu/qemu-qoriq_git.bb          |  72 +++++++++++++++++++++++
 4 files changed, 123 insertions(+)
 create mode 100644 recipes-devtools/qemu/qemu-qoriq/memfd.patch
 create mode 100644 recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin
 create mode 100644 recipes-devtools/qemu/qemu-qoriq/run-ptest
 create mode 100644 recipes-devtools/qemu/qemu-qoriq_git.bb

diff --git a/recipes-devtools/qemu/qemu-qoriq/memfd.patch b/recipes-devtools/qemu/qemu-qoriq/memfd.patch
new file mode 100644
index 0000000..d9e7a45
--- /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 <ting.liu at nxp.com>
+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 <sys/memfd.h>
++#include <sys/mman.h>
+ 
+ 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 <sys/memfd.h>
+-#elif defined CONFIG_LINUX
++#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
+ #include <sys/syscall.h>
+ #include <asm/unistd.h>
+ 
+-- 
+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 0000000000000000000000000000000000000000..c4044296c51529878f5d2a46230949d09ef1d4e2
GIT binary patch
literal 4096
zcmeHJQEMDk6h4#Pn8Z}5VUd7UHb$_7oo16ZWvl_Wq7bx}RV;`Ib~1CD44Ivo&djz(
z20DZ^Sm;B1^P!YL$|?xr50Dxx<W1-=Nb#jAB1A;VL+N<VoqKm?mo4n8m<wmm`OZ1_
zyXT&{cV+<&$6*H!JMdrW!2M?){{b*MgY{|vBVVIFj`A$ZQ4}1?4fK1d-SMjkR6spQ
z_GQ*+=6p}1edN8j-n~$%zt8GvfO5${M!BlzGeJ!LBFYOW#4B+{V8!s70opWVtXD3@
zDYsT7E6WA+<uUG+56Lw@`umUh__ at Kqf6n8Nx^M%7WfVF8S{METF%22NokAEuO`<ed
z!}V9WmvV;4>hcYvi`OX{&F6WBRnw|kl?KhhA=dzmNj!qa7`0aw&RpKS@@VUVz<iB3
zMpQ$|xW4%zN%nJ?dQI!dwdlD}J%p)_T~Q;N05Shf4N8(@M;Ibka{YvEauGg?vIjtA
zbqtD8FaGQiqq(Cfl+!&ZM!lezVg)+I$)>XgU6}SL_e61d_GCWQDdT+4h>0J6J|vY6
z?n%vooL{&VPxp1(X12&CZmJJ at _@6`fnCE!)^YzN9>I}3^S{w(>9Y>+QAbsI`)YLe%
zhsb^kg>uN3pwJm3OoIDU=pIs8v?nECzNOo>lb47s&EaP<^|yU5q9tpZ%W9g#!{`Jv
zr|0H!wb2^S$51#BeALr<I95i*YdC^h)=oK8XTDy_e`39s6Efd#dZB8#PUySXQy=qb
zi2XtSc~LLG(q`vgB_qvg-;s)C8L6AkMN at f2<h+bp)Cgs?d9P4!Wp?qtu*JH{JmPj=
z9X5+MwRTe6R?5lm8zJYFbLBH3ET5Y^zkF at UH=8!Po3GplAFV<2I`~fY=BxF=C+}Vd
z-|60b7yIC&+PdqT)q3&`#C`C|bJS5^Z at xl5eDtl8^${oMHJ06gIf&9&36H?r)A;V4
z#+S@==jEcgSd;QG&rb6RyBX$`vA~Dw|Jwn1zD7)T#WL6@;i|`=;hOjXG2Diyht{Ia
zU{W_tp9O(xFxw7bGO#{l!uHt`7`AJysF!?pxyc-36&9O84uw{OE$RWwxh&Ptjb*0V
zmcvvc1M`U<9+ne0ptr1=y`Obs#c{9N%v at sN>&_Cx0<&mZafTbZr#AFp1v*?A3Nlm0
zZzgj>xMKNXQ at 2&xYBnqPS-@>HKdpGnx?^IqQWS)y+YFH+ToxY7u|nTegHZRwP8V}b
zSae+sEb;%K*M1#ny}qNsYkLXA5B at 1?u>#SJLhH*7Xlm<8f;#-X1y`fH6W_i8$-egB
zukYdwC~E6a_+TB*MCN`S^Bz_3)<>=KiD-M`L~SkEkMBZtb6dHCdSP>WD2n&sT(mn?
z+PpV(Q at b~GE4~eH#;xQaDju($jbT{3o+O+D*Tz`w>>7;I`r2-i+`I$ItrjS_{sHo6
zTN_Ym=RSmE(Ze$(%wLGV!aq8Lpw!l&igq#Dm at 1(jj;@#MaSO(y^{Eo=O`A-R1mJvJ
aoLIp7h<sDgFE5ple~0izly{QHzx at jx&XA}8

literal 0
HcmV?d00001

diff --git a/recipes-devtools/qemu/qemu-qoriq/run-ptest b/recipes-devtools/qemu/qemu-qoriq/run-ptest
new file mode 100644
index 0000000..2206b31
--- /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 0000000..7423b54
--- /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 = ""
-- 
2.7.4



More information about the meta-freescale mailing list