aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>2019-04-29 16:19:02 -0700
committerManjukumar Matha <manjukumar.harthikote-matha@xilinx.com>2019-08-16 17:41:49 -0700
commit85e8c99629ed61826490a2b1dc7791b886435748 (patch)
treeb2042de6b05e2bd53bdc58cfa16b7b4f32e7bdcb
parent48a483c69fa2726f5816bd0ff559d73221921267 (diff)
downloadmeta-xilinx-85e8c99629ed61826490a2b1dc7791b886435748.zip
meta-xilinx-85e8c99629ed61826490a2b1dc7791b886435748.tar.gz
meta-xilinx-85e8c99629ed61826490a2b1dc7791b886435748.tar.bz2
qemu-xilinx: split recipes for native (system, usermode) and target
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 <alejandr@xilinx.com> Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch56
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb6
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc7
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb7
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb16
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc14
-rw-r--r--meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb15
7 files changed, 110 insertions, 11 deletions
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 <laurent@vivier.eu>
+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 <laurent@vivier.eu>
+Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
+Message-Id: <20180605160958.5434-1-laurent@vivier.eu>
+
+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 <alejandr@xilinx.com>
+
+
+---
+ 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)}
+}