]> code.ossystems Code Review - meta-freescale.git/commitdiff
qemu-qoriq: add recipes
authorChunrong Guo <chunrong.guo@nxp.com>
Thu, 14 Jun 2018 06:01:51 +0000 (14:01 +0800)
committerOtavio Salvador <otavio@ossystems.com.br>
Tue, 26 Jun 2018 17:13:51 +0000 (14:13 -0300)
*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@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
recipes-devtools/qemu/qemu-qoriq/memfd.patch [new file with mode: 0644]
recipes-devtools/qemu/qemu-qoriq/powerpc_rom.bin [new file with mode: 0644]
recipes-devtools/qemu/qemu-qoriq/run-ptest [new file with mode: 0644]
recipes-devtools/qemu/qemu-qoriq_git.bb [new file with mode: 0644]

diff --git a/recipes-devtools/qemu/qemu-qoriq/memfd.patch b/recipes-devtools/qemu/qemu-qoriq/memfd.patch
new file mode 100644 (file)
index 0000000..d9e7a45
--- /dev/null
@@ -0,0 +1,41 @@
+From d60ecdd94f4054aa0ec615824d5efdb4cebc7db9 Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@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 (file)
index 0000000..c404429
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 (file)
index 0000000..2206b31
--- /dev/null
@@ -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 (file)
index 0000000..7423b54
--- /dev/null
@@ -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 = ""