From: Alejandro Enedino Hernandez Samaniego <[email protected]>

The qemu recipe has been split in oe-core, into qemu target and
qemu-native, to improve build performance (check 4852290).

Previously it used BBCLASSEXTEND on the inc file (that we include)
to create the nativesdk package.

To keep up to date with OE-core, split out qemu-xilinx recipes as
well, use a separate native inc file and create a recipe for
qemu-xilinx-native and qemu-xilinx-system-native.

This also requires us to update PREFERRED_PROVIDER for such recipes.

Signed-off-by: Alejandro Enedino Hernandez Samaniego <[email protected]>
Signed-off-by: Manjukumar Matha <[email protected]>
---
 ...disable-qemu-bridge-helper-and-socket_scm.patch | 56 ++++++++++++++++++++++
 .../qemu/qemu-xilinx-helper-native_1.0.bb          |  6 ++-
 .../recipes-devtools/qemu/qemu-xilinx-native.inc   |  7 +++
 .../qemu/qemu-xilinx-native_2019.1.bb              |  7 +++
 .../qemu/qemu-xilinx-system-native_2019.1.bb       | 16 +++++++
 .../recipes-devtools/qemu/qemu-xilinx.inc          | 14 ++++--
 .../recipes-devtools/qemu/qemu-xilinx_2019.1.bb    | 15 ++++--
 7 files changed, 110 insertions(+), 11 deletions(-)
 create mode 100644 
meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
 create mode 100644 meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
 create mode 100644 
meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb
 create mode 100644 
meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb

diff --git 
a/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
 
b/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
new file mode 100644
index 0000000..8f41f74
--- /dev/null
+++ 
b/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
@@ -0,0 +1,56 @@
+From 206d1b9c38daed50fcc08d2e743e649fbb82d60b Mon Sep 17 00:00:00 2001
+From: Laurent Vivier <[email protected]>
+Date: Tue, 5 Jun 2018 18:09:58 +0200
+Subject: [PATCH] linux-user: disable qemu-bridge-helper and socket_scm_helper
+ build
+
+linux-user targets don't need them, and if we ask to build statically
+linked binaries, some static libraries they need are not available.
+
+Signed-off-by: Laurent Vivier <[email protected]>
+Reviewed-by: Peter Maydell <[email protected]>
+Message-Id: <[email protected]>
+
+Upstream-Status: Pending
+
+
+With the split of qemu-xilinx into target,native and system-native recipes,
+we need to avoid duplicating providers for qemu-brigde-helper.
+
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <[email protected]>
+
+
+---
+ Makefile               | 2 +-
+ tests/Makefile.include | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 023b343..e4bc34a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -351,7 +351,7 @@ $(call set-vpath, $(SRC_PATH))
+ 
+ LIBS+=-lz $(LIBS_TOOLS)
+ 
+-HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
++HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = 
qemu-bridge-helper$(EXESUF)
+ 
+ ifdef BUILD_DOCS
+ DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
+diff --git a/tests/Makefile.include b/tests/Makefile.include
+index d098a10..10397ed 100644
+--- a/tests/Makefile.include
++++ b/tests/Makefile.include
+@@ -930,7 +930,7 @@ check-report.html: check-report.xml
+ 
+ # Other tests
+ 
+-QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = 
tests/qemu-iotests/socket_scm_helper$(EXESUF)
++QEMU_IOTESTS_HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = 
tests/qemu-iotests/socket_scm_helper$(EXESUF)
+ 
+ .PHONY: check-tests/qemu-iotests-quick.sh
+ check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh 
qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
+-- 
+2.7.4
+
diff --git 
a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
index 55b35b5..ecc9652 100644
--- a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
@@ -20,9 +20,11 @@ FILESEXTRAPATHS_prepend := "${@get_filespath_extra(d, 
'recipes-devtools/qemu/qem
 PROVIDES += "qemu-helper-native"
 
 # replace qemu with qemu-xilinx
-DEPENDS_remove = "qemu-native"
+DEPENDS_remove = "qemu-system-native"
 DEPENDS_append = " \
-               qemu-xilinx-native \
+               qemu-xilinx-system-native \
                qemu-xilinx-multiarch-helper-native \
                "
 
+RDEPENDS_${PN}_remove = "qemu-system-native"
+RDEPENDS_${PN}_append = " qemu-xilinx-system-native"
diff --git a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
new file mode 100644
index 0000000..aae607f
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
@@ -0,0 +1,7 @@
+require recipes-devtools/qemu/qemu-native.inc
+require qemu-xilinx.inc
+
+DEPENDS = "glib-2.0-native zlib-native"
+
+SRC_URI_remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch"
+SRC_URI_remove = 
"file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch"
\ No newline at end of file
diff --git a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb
new file mode 100644
index 0000000..bc5a385
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb
@@ -0,0 +1,7 @@
+require qemu-xilinx-native.inc
+BPN = "qemu-xilinx"
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} 
--disable-tools --disable-blobs --disable-guest-agent"
+
+
+SRC_URI_append = 
"file://0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch"
diff --git 
a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb
new file mode 100644
index 0000000..a138704
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb
@@ -0,0 +1,16 @@
+require qemu-xilinx-native.inc
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
+
+PACKAGECONFIG ??= "fdt alsa kvm"
+
+PACKAGECONFIG_remove = "${@'kvm' if not 
os.path.exists('/usr/include/linux/kvm.h') else ''}"
+
+DEPENDS += "pixman-native qemu-xilinx-native"
+
+do_install_append() {
+    # The following is also installed by qemu-native
+    rm -f ${D}${datadir}/${BPN}/trace-events-all
+    rm -rf ${D}${datadir}/${BPN}/keymaps
+}
+
diff --git a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
index daff5ff..ad44f09 100644
--- a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
@@ -1,14 +1,19 @@
+SUMMARY = "Xilinx's fork of a fast open source processor emulator"
+HOMEPAGE = "https://github.com/xilinx/qemu/";
+
 QEMU_TARGETS = "aarch64 arm microblaze microblazeel"
 
-require recipes-devtools/qemu/qemu.inc
+XILINX_RELEASE_VERSION = "v2019.1"
+XILINX_QEMU_VERSION ?= "v2.11.1"
+BRANCH ?= "branch/xilinx-v2019.1"
+SRCREV ?= "5f38ea92fb697b94ad43f01fe162f3ed6e6b0e16"
 
-SUMMARY = "Xilinx's fork of a fast open source processor emulator"
-HOMEPAGE = "https://github.com/xilinx/qemu/";
 
 LIC_FILES_CHKSUM = " \
                file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
                
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913 \
                "
+DEPENDS = "glib-2.0 zlib pixman"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
 
@@ -45,5 +50,4 @@ do_configure_prepend() {
 do_install_append() {
        # Prevent QA warnings about installed ${localstatedir}/run
        if [ -d ${D}${localstatedir}/run ]; then rmdir 
${D}${localstatedir}/run; fi
-}
-
+}
\ No newline at end of file
diff --git a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb 
b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb
index 2dcf35b..c158b18 100644
--- a/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb
+++ b/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb
@@ -1,6 +1,13 @@
+require recipes-devtools/qemu/qemu.inc
 require qemu-xilinx.inc
 
-XILINX_RELEASE_VERSION = "v2019.1"
-XILINX_QEMU_VERSION ?= "v2.11.1"
-BRANCH ?= "branch/xilinx-v2019.1"
-SRCREV ?= "5f38ea92fb697b94ad43f01fe162f3ed6e6b0e16"
+BBCLASSEXTEND = "nativesdk"
+
+RDEPENDS_${PN}_class-target += "bash"
+
+EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF_append_class-nativesdk = " 
--target-list=${@get_qemu_target_list(d)}"
+
+do_install_append_class-nativesdk() {
+    ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
-- 
2.7.4

-- 
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to