From 33fd654be03f9c7afac44faabef4029e77f9dff4 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 22 Dec 2022 02:32:16 -0800 Subject: qemu-xilinx: Refactor to enable qemu ver 7.1 Refactor QEMU integration as the versions now match the Langdale core version. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 4 +- .../recipes-devtools/qemu/files/cross.patch | 40 ------------------ .../recipes-devtools/qemu/qemu-xilinx-2022.1.inc | 10 +++-- .../recipes-devtools/qemu/qemu-xilinx-2022.2.inc | 10 +++-- .../qemu/qemu-xilinx-7.1.0/cross.patch | 38 +++++++++++++++++ .../recipes-devtools/qemu/qemu-xilinx-7.1.inc | 32 +++++++++++++++ .../qemu/qemu-xilinx-native-7.1.inc | 4 ++ .../recipes-devtools/qemu/qemu-xilinx-native.inc | 11 ----- .../qemu/qemu-xilinx-native_2022.1.bb | 2 +- .../qemu/qemu-xilinx-native_2022.2.bb | 2 +- .../qemu/qemu-xilinx-system-native_2022.1.bb | 4 +- .../qemu/qemu-xilinx-system-native_2022.2.bb | 4 +- .../recipes-devtools/qemu/qemu-xilinx.inc | 47 ---------------------- .../recipes-devtools/qemu/qemu-xilinx_2022.1.bb | 2 +- .../recipes-devtools/qemu/qemu-xilinx_2022.2.bb | 2 +- 15 files changed, 98 insertions(+), 114 deletions(-) delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/files/cross.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc (limited to 'meta-xilinx-core') diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 83f4131b..616530d9 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -48,8 +48,8 @@ XILINX_RELEASE_VERSION ??= "v2022.2" BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" -XILINX_QEMU_VERSION[v2022.1] = "v6.1.0-xilinx-v2022.1%" -XILINX_QEMU_VERSION[v2022.2] = "v6.1.0-xilinx-v2022.2%" +XILINX_QEMU_VERSION[v2022.1] = "v7.1.0-xilinx-v2022.1%" +XILINX_QEMU_VERSION[v2022.2] = "v7.1.0-xilinx-v2022.2%" PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/files/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/files/cross.patch deleted file mode 100644 index bdb77ec7..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/files/cross.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f51ece86f84c877f255746cba22a6745f37d2b7f Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Tue, 5 Jan 2021 23:00:14 +0000 -Subject: [PATCH] qemu: Upgrade 5.1.0->5.2.0 - -We need to be able to trigger configure's cross code but we don't want -to set cross_prefix as it does other things we don't want. Patch things -so we can do what we need in the target config case. - -Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] -Signed-off-by: Richard Purdie ---- - configure | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/configure b/configure -index 9a79a004d..563b7827f 100755 ---- a/configure -+++ b/configure -@@ -5128,7 +5128,6 @@ if test "$skip_meson" = no; then - fi - echo "strip = [$(meson_quote $strip)]" >> $cross - echo "windres = [$(meson_quote $windres)]" >> $cross -- if test "$cross_compile" = "yes"; then - cross_arg="--cross-file config-meson.cross" - echo "[host_machine]" >> $cross - if test "$mingw32" = "yes" ; then -@@ -5160,9 +5159,6 @@ if test "$skip_meson" = no; then - else - echo "endian = 'little'" >> $cross - fi -- else -- cross_arg="--native-file config-meson.cross" -- fi - mv $cross config-meson.cross - - rm -rf meson-private meson-info meson-logs --- -2.17.1 - diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc index 62a221f4..bb8fac70 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc @@ -1,4 +1,8 @@ -XILINX_QEMU_VERSION = "v6.1.0" -BRANCH = "xlnx_rel_v2022.2" -SRCREV = "74d70f8008bfbd1566c2eed3496a077a974de0d0" +# Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx +# Instead it's the current master version, as qemu 6.1.0 doesn't +# work reliabily anymore. + +XILINX_QEMU_VERSION = "v7.1.0" +BRANCH = "master" +SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc index 62a221f4..bb8fac70 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc @@ -1,4 +1,8 @@ -XILINX_QEMU_VERSION = "v6.1.0" -BRANCH = "xlnx_rel_v2022.2" -SRCREV = "74d70f8008bfbd1566c2eed3496a077a974de0d0" +# Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx +# Instead it's the current master version, as qemu 6.1.0 doesn't +# work reliabily anymore. + +XILINX_QEMU_VERSION = "v7.1.0" +BRANCH = "master" +SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch new file mode 100644 index 00000000..ca2ad361 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/cross.patch @@ -0,0 +1,38 @@ +From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Tue, 5 Jan 2021 23:00:14 +0000 +Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0 + +We need to be able to trigger configure's cross code but we don't want +to set cross_prefix as it does other things we don't want. Patch things +so we can do what we need in the target config case. + +Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] +Signed-off-by: Richard Purdie + +--- + configure | 4 ---- + 1 file changed, 4 deletions(-) + +Index: qemu-7.1.0/configure +=================================================================== +--- qemu-7.1.0.orig/configure ++++ qemu-7.1.0/configure +@@ -2710,7 +2710,6 @@ if test "$skip_meson" = no; then + echo "strip = [$(meson_quote $strip)]" >> $cross + echo "widl = [$(meson_quote $widl)]" >> $cross + echo "windres = [$(meson_quote $windres)]" >> $cross +- if test "$cross_compile" = "yes"; then + cross_arg="--cross-file config-meson.cross" + echo "[host_machine]" >> $cross + echo "system = '$targetos'" >> $cross +@@ -2728,9 +2727,6 @@ if test "$skip_meson" = no; then + else + echo "endian = 'little'" >> $cross + fi +- else +- cross_arg="--native-file config-meson.cross" +- fi + mv $cross config-meson.cross + + rm -rf meson-private meson-info meson-logs diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc new file mode 100644 index 00000000..595b988d --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc @@ -0,0 +1,32 @@ +SUMMARY = "Xilinx's fork of a fast open source processor emulator" +HOMEPAGE = "https://github.com/xilinx/qemu/" + +# x86_64 is needed to build nativesdks +QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" + +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \ + " +DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" + +FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-7.1.0:" + +PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" +REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +SRC_URI:append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + fdt sdl kvm gcrypt pie slirp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ +" +PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp" + +DISABLE_STATIC:pn-${PN} = "" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc new file mode 100644 index 00000000..e664a580 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-7.1.inc @@ -0,0 +1,4 @@ +require recipes-devtools/qemu/qemu-native.inc +require qemu-xilinx-7.1.inc + +DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc deleted file mode 100644 index b22ab432..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc +++ /dev/null @@ -1,11 +0,0 @@ -require recipes-devtools/qemu/qemu-native.inc -require qemu-xilinx.inc - -DEPENDS = "glib-2.0-native zlib-native ninja-native meson-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" - -do_install:append(){ - rm -rf ${D}${datadir}/icons -} diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb index e0edd965..42794f55 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb @@ -1,5 +1,5 @@ require qemu-xilinx-2022.1.inc -require qemu-xilinx-native.inc +require qemu-xilinx-native-7.1.inc require qemu-native-alt.inc BPN = "qemu-xilinx" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb index 21b9e9bf..e6a69f3a 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb @@ -1,5 +1,5 @@ require qemu-xilinx-2022.2.inc -require qemu-xilinx-native.inc +require qemu-xilinx-native-7.1.inc require qemu-native-alt.inc BPN = "qemu-xilinx" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb index ea7d6830..6a2742bf 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb @@ -1,12 +1,12 @@ require qemu-system-native-alt.inc require qemu-xilinx-2022.1.inc -require qemu-xilinx-native.inc +require qemu-xilinx-native-7.1.inc PROVIDES = "qemu-system-native" EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" -PACKAGECONFIG ??= "fdt alsa kvm pie slirp" +PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb index 540ec51a..1f02812d 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb @@ -1,12 +1,12 @@ require qemu-system-native-alt.inc require qemu-xilinx-2022.2.inc -require qemu-xilinx-native.inc +require qemu-xilinx-native-7.1.inc PROVIDES = "qemu-system-native" EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" -PACKAGECONFIG ??= "fdt alsa kvm pie slirp" +PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc deleted file mode 100644 index 7dc0b84b..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Xilinx's fork of a fast open source processor emulator" -HOMEPAGE = "https://github.com/xilinx/qemu/" - -# x86_64 is needed to build nativesdks -QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" - -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \ - " -DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" - -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -SRC_URI:append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch" - -S = "${WORKDIR}/git" - -# Disable KVM completely -PACKAGECONFIG:remove = "kvm" -PACKAGECONFIG:append = " fdt sdl gcrypt pie slirp" - - -# Remove when version is in sync with core oe-core -PACKAGECONFIG:remove:class-nativesdk= "pulsedio" -PACKAGECONFIG:remove:class-native = "pulsedio" -PACKAGECONFIG[alsa] = "--audio-drv-list=alsa,,alsa-lib" -PACKAGECONFIG[pulsedio] = "--audio-drv-list=pa,,pulseaudio" -PACKAGECONFIG[selinux] = "" -PACKAGECONFIG[slirp] = "--enable-slirp=git,--disable-slirp,," -PACKAGECONFIG[jack] = "" - -DISABLE_STATIC:pn-${PN} = "" - -do_install:append() { - # Prevent QA warnings about installed ${localstatedir}/run - if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi -} - -FILES:${PN} += "${datadir}/qemu/" -FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb index 3503e2f4..b027d363 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb @@ -1,6 +1,6 @@ require qemu-xilinx-2022.1.inc require recipes-devtools/qemu/qemu.inc -require qemu-xilinx.inc +require qemu-xilinx-7.1.inc require qemu-alt.inc BBCLASSEXTEND = "nativesdk" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb index 31b9c41d..fb35fea9 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb @@ -1,6 +1,6 @@ require qemu-xilinx-2022.2.inc require recipes-devtools/qemu/qemu.inc -require qemu-xilinx.inc +require qemu-xilinx-7.1.inc require qemu-alt.inc BBCLASSEXTEND = "nativesdk" -- cgit v1.2.3-54-g00ecf