summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu.inc
AgeCommit message (Collapse)Author
2 daysrecipes: Update WORKDIR references to UNPACKDIRRichard Purdie
Since we want to be able to stop unpacking to WORKDIR, correct the WORKDIR references in recipe do_compile/do_install tasks to use UNPACKDIR in the appropraite places instead. (From OE-Core rev: d73595df69667fe9d12ecd407b77a0b8dae2109c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03qemu: backport patch for ui/clipboard issueSimone Weiß
Backported from upstream to fix CVE-2023-6683 (From OE-Core rev: d33a0ef657663faa05448454fad8a004879fe624) Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03qemu: Replace workaround with proper usermode fix for shmatRichard Purdie
We were using a workaround to avoid problems with the behaviour of shmat() calls in usermode qemu. Switch to patches from upstream which are in review but not merged yet. Update the mmap fixed/noreplace workaround for the changes. (From OE-Core rev: 8a571e352734045176bac310441a1003efbf0891) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-24meta: Remove some not needed CVE_STATUSSimone Weiß
CVE_STATUS was set for those components, but meanwhile databases are updated with corrected information, so setting the CVE_STATUS is not needed anymore. (From OE-Core rev: 5ec6057cfa66ceeb33bec013e320f8e3fa7d7ecf) Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-19qemu: Set CVE_STATUS for wrong CVEsSimone Weiß
All are already fixed in 8.2.1, NVD was informed that cpes are wrong. (From OE-Core rev: a975960baffd341cd07cb093bef107c031c9b956) Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-15qemu: disbale AF_XDP network backend supportJose Quaresma
This fix some host contaminations issues: | /poky/build/tmp/hosttools/ld.bfd: libcommon.fa.p/net_af-xdp.c.o: undefined reference to symbol 'bpf_xdp_detach@@LIBBPF_0.7.0' | /poky/build/tmp/hosttools/ld.bfd: /usr/lib/libbpf.so.1: error adding symbols: DSO missing from command line | collect2: error: ld returned 1 exit status The AF_XDP network backend support [1] requires the libxdp that is not available in any layer, otherwise you can configure this option: | PACKAGECONFIG[af-xdp] = "--enable-af-xdp,--disable-af-xdp,libxdp" [1] https://github.com/qemu/qemu/commit/cb039ef3d9e3112da01e1ecd9b136ac9809ef733 (From OE-Core rev: c2524614e49aee95b23d7bc162b1a30dee8cf59c) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-05qemu: Upgrade 8.2.0 -> 8.2.1Richard Purdie
This was a bugfix release containing several important fixes according to upstream. Drop a backported patch. (From OE-Core rev: 1715d0907d372e787c054a5509690a2719acfed0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-02qemu: Allow native and nativesdk versions on Linux older then 4.17Mark Hatle
Linux kernel 4.17 introduced two new mmap flags, MAP_FIXED_NOREPLACE and MAP_SHARED_VALIDATE. Starting with QEMU 8.1, these flags are now used and required for proper system operation. In order to build and run on a system older then 4.17, we need to emulate this new behavior. Not having a newer kernel could result in the mmap memory being allocated in a way that will cause failures without QEMU checking for these conditions. Note, memory allocation issues are rare in my experience so this is more of a 'just-in-case' behavior. SDK_OLDEST_KERNEL is currently set to 3.2.0, the only way this can claim that qemu works in an SDK is by checking the return values to emulate the expected behavior. (From OE-Core rev: 4eb0a83c7851e2eb6d7890a130dfe50f37ff8ac9) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-30qemu: fix target build with ccache enabledMartin Jansa
* with ccache inheritted, the BUILD_CC is 'ccache gcc', but because of missing quote it ends passing just ccache to host-cc which gets stripped and then it calls compiler[0] on empty compiler variable and breaks meson as shown in: http://errors.yoctoproject.org/Errors/Details/751436/ python version: Python 3.12.1 Traceback (most recent call last): File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 194, in run return options.run_func(options) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 358, in run app.generate() File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 181, in generate return self._generate(env, capture, vslite_ctx) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 203, in _generate intr = interpreter.Interpreter(b, user_defined_options=user_defined_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 331, in __init__ self.parse_project() File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 132, in parse_project self.evaluate_codeblock(self.ast, end=1) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 198, in evaluate_codeblock raise e File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 190, in evaluate_codeblock self.evaluate_statement(cur) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 204, in evaluate_statement return self.function_call(cur) ^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 530, in function_call res = func(node, func_args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 260, in wrapper return f(*nargs, **wrapped_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 579, in wrapper return f(*wrapped_args, **wrapped_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1309, in func_project self.add_languages(proj_langs, False, MachineChoice.BUILD) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1476, in add_languages success = self.add_languages_for(args, required, for_machine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1519, in add_languages_for comp = compilers.detect_compiler_for(self.environment, lang, for_machine, skip_sanity_check) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 115, in detect_compiler_for comp = compiler_from_language(env, lang, for_machine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 112, in compiler_from_language return lang_map[lang](env, for_machine) if lang in lang_map else None ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 614, in detect_c_compiler return _detect_c_or_cpp_compiler(env, 'c', for_machine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 286, in _detect_c_or_cpp_compiler compiler_name = os.path.basename(compiler[0]) ~~~~~~~~^^^ IndexError: list index out of range ... Project name: qemu Project version: 8.2.0 C compiler for the host machine: ccache x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 (clang 17.0.6 "clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)") C linker for the host machine: x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 ld.lld 17.0.6 ../qemu-8.2.0/meson.build:1:0: ERROR: Unhandled python exception This is a Meson bug and should be reported! ERROR: meson setup failed (From OE-Core rev: 7e55102cff9ddecb4f0acbb3bcafa703dd9808fd) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-27qemu: Replace the basename patch with backportKhem Raj
Backport the patch that got applied to fix this issue upstream (From OE-Core rev: 952c94988cf1cf093668e9ac7020485c51cf3a58) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-26qemu: Fix segfaults in webkitgtk:do_compile on debian11Richard Purdie
Add a work around for segfaults we're seeing with qemu 8.2.0 when compiling webkitgtk on debian 11 autobuilder workers. The issue has been reported upstream to work out an official fix. [YOCTO #15367] (From OE-Core rev: 28ab691587e689872b2e2ddd210507cc2ae86f9b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-24qemu: Upgrade 8.1.2 -> 8.2.0Richard Purdie
We can drop the mips workaround patch since there were fixes in 8.2.0. The build system changed and we should drop cross.patch and replace it with explicit settings for cross-prefix, and host-cc. To make that work we need to indicate we don't use a cross pkg-config. PIE isn't availale for mingw so tweak PACKAGECONFIG accordingly. (From OE-Core rev: 8917fa10b8afb1413b34a6134beea129e416f8c6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-01-21qemu: add PACKAGECONFIG for sndioRichard Purdie
In qemu's configuration this is an 'auto' configuration option so if the host has the sndio headers on then it gets enabled, causing sstate reuse problems. This is particularly problematic as some qemu pieces can 'see' into the host pkg-config due to openGL linkage. Add config and disable by default to avoid host contamination. [YOCTO #15284] (From OE-Core rev: e746182638aeb9bdd1bbb7430de214d8d847a8b6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21qemu: Ensure pip and the python venv aren't used for mesonRichard Purdie
Qemu wants to use a supported python version and a specific meson version to "help" users and uses pip and creates a venv to do this. This is a nightmare for us. Our versions stay up to date and should be supported so we don't really need/want this wrapping. Tweak things to disable it. There was breakage from the wrapper shown by: bitbake qemu-system-native <add DISTRO_FEATURES:remove = "opengl" to local.conf> bitbake qemu-system-native -c configure which would crash. The issue is the change in configuration removes pieces from the sysroot but pyc files remainm as do pieces of pip which causes problems. (From OE-Core rev: aceef7785e637a0223ecf288e2f367b6bee4a505) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21qemu: Clean up DEPENDSRichard Purdie
Move the common dependencies to qemu.inc for cleaner entries in the various recipes. Remove an unneeded inherit. (From OE-Core rev: 6e7c2ae575b8f04fd117cc56980bb25113f343a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21qemu: Add packageconfig knob to enable pipewire supportKhem Raj
This gets into a quessing mode if not specified and it it probelamactic for native version since it maybe built on a machine having pipewire installed and used on another where pipewire is not installed ( minimal CI builder ) it ends up with runqemu - ERROR - Failed to run qemu: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-x86_64: error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory (From OE-Core rev: 0d63cadd4523e60d4959284a81fbe47da88834fa) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21qemu: Fix build with latest muslKhem Raj
musl dropped basename() from string.h, adjust for that (From OE-Core rev: 58f7eb2b5a2ae037294b631bf083729e78910c24) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-30qemu: Upgrade 8.1.0 -> 8.1.2Richard Purdie
Drop three backport patches as they're applied upstream. (From OE-Core rev: 7480ff9064a74858e83e0ae275dbdb78dd6fc2a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17qemu: ignore RHEL specific CVE-2023-2680Lee Chee Yang
(From OE-Core rev: 43b6d040979a766baa0fb2b1ff9125a94bb0152f) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-06qemu: fix CVE-2023-42467Yogita Urade
QEMU through 8.0.0 could trigger a division by zero in scsi_disk_reset in hw/scsi/scsi-disk.c because scsi_disk_emulate_mode_select does not prevent s->qdev.blocksize from being 256. This stops QEMU and the guest immediately. References: https://nvd.nist.gov/vuln/detail/CVE-2023-42467 https://gitlab.com/qemu-project/qemu/-/issues/1813 (From OE-Core rev: 7c42b976d7a72acf917bae9d055768a1350e507d) Signed-off-by: Yogita Urade <yogita.urade@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-20qemu: Add PACKAGECONFIG for daxKhem Raj
Othereise it pokes at the build system and if ndctl is installed on the system it adds dependency on libdaxctl which can make it not work on other hosts where this is not available and qemu fails to run Fixes <recipe-sysroot-native>/usr/bin/qemu-system-x86_64: error while loading shared libraries: libdaxctl.so (From OE-Core rev: 2d61f31d7044fdc06fa526d8fd2c7cf485e260c6) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07qemu: Add patches to resolve x86 and then mips boot issuesRichard Purdie
qemu 8.1.0 doesn't boot on x86. After adding tcg fixes for that, mips boot breaks so also add patches for that as well. (From OE-Core rev: 3d3fa94ee6d7ea58e3ec64d28bd6414437806cfd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07qemu: Upgrade 8.0.4 -> 8.1.0Richard Purdie
This upgrade isn't straighforward as upstream made changes. A pyenv is now needed containing meson. This doesn't work for us for reasons as yet unclear however it does mean we need python3native inherited for that to stand a chance of working as otherwise host system dependencies may be missing. For now, allow meson to work from our sysroot via a patch. Our meson is always deterministic anyway so we don't need their help for that. The submodules approach used previously has changed, switch the options for new ones to disable downloads and docs. Some of the images binaries shipped for s390 show QA warnings for relocations in code sections. Drop those binaries to avoid the QA warnings since we don't need them anyway. Drop a backported patch and refresh another. (From OE-Core rev: a7176c3b2a7e2041b9be5dabb6b0f1e62f235f76) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-30qemu: Fix CVE-2023-40360Khem Raj
(From OE-Core rev: 5b68ec70ecc9779146789cc635d8ab60928e9233) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29qemu: add packageconfigs for fuse and dbus-displayMarkus Volk
glib-2.0-native is needed to provide gdbus-codegen (From OE-Core rev: 0df2247c7b670401fa9efda0a818fbad30f8f921) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29qemu: fix libudev packageconfig for systemd imagesMarkus Volk
eudev is needed to provide libudev when not using systemd, but including eudev breaks things for systemd. We can't include eudev here since systemd provides libudev itself. (From OE-Core rev: e86b572f260fae7837694aa4c6d61de639bc71e8) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15qemu: Upgrade 8.0.3 -> 8.0.4Richard Purdie
(From OE-Core rev: ed1789638d025447db8f28d71d119de85a696b09) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15qemu: Add qemu-common packageMingli Yu
We split the qemu package [1] to add support to make user can install one qemu arch emulation rpm to ease the concerns who care much about the rpm size in embedded device. But for the user who only install the qemu-*.rpm can't do anything except they install the qemu emulation rpm like qemu-system-x86-64-*.rpm explicitly. So add qemu-common package to package all thing into qemu-common when not split the package, and package only the basic into qemu-common and other arch related to each qemu arch emulation rpm when split the package to fix the backward compatibility. qenu-*.rpm which is meta package rdepends on qemu-common and the available qemu arch emulation rpm like qemu-system-x86-64-*.rpm and etc. [1] https://git.openembedded.org/openembedded-core/commit/?id=893846ead7ee54d53e9076150cd655e0c8bca5db (From OE-Core rev: 91c47aa06170081b64500471a39999b42cb1f400) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-21cve_check: convert CVE_CHECK_IGNORE to CVE_STATUSAndrej Valek
- Try to add convert and apply statuses for old CVEs - Drop some obsolete ignores, while they are not relevant for current version (From OE-Core rev: 1634ed4048cf56788cd5c2c1bdc979b70afcdcd7) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Reviewed-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-14qemu: fix typoEtienne Cordonnier
(From OE-Core rev: 0866acdc566cc1e2f16f6f8a041f6bd67b0abf2a) Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-14qemu: upgrade 8.0.0 -> 8.0.3Trevor Gamblin
ppc.patch is removed because it is included in 8.0.3: https://github.com/qemu/qemu/commit/864ce70c1c747898063cc2df854920d354b1b78f General changelog for 8.x: https://wiki.qemu.org/ChangeLog/8.0 (From OE-Core rev: bb5c368e48e2222312b1fc4ba4ad609b2530d6bc) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-10qemu: Add qemu-user-* and qemu-system-* to PACKAGES_DYNAMICMingli Yu
Fixes: Add below line to conf/local.conf IMAGE_INSTALL:append = " qemu-system-aarch64" $ bitbake core-image-base ERROR: Required build target 'core-image-base' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-base', 'qemu-system-aarch64'] (From OE-Core rev: b89201b7c163b075880a35733700c6d4205b4461) (From OE-Core rev: 3514a3bc6c86c56ee3b23edccbfa566d7a3e4ac5) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-09qemu: Split the qemu packageMingli Yu
Currently all files as below packaged into one package such as qemu-7.2.0-*.rpm. After the qemu package installed on the target, it will take up about 464M which includes not only the one matches the arch of the target but aslo all available built qemu targets which set by QEMU_TARGETS. # ls tmp-glibc/work/core2-64-wrs-linux/qemu/7.2.0-r0/image/usr/bin/ qemu-aarch64 qemu-img qemu-mips64el qemu-ppc64 qemu-sh4 qemu-system-loongarch64 qemu-system-ppc qemu-system-x86_64 qemu-arm qemu-io qemu-mipsel qemu-ppc64le qemu-storage-daemon qemu-system-mips qemu-system-ppc64 qemu-x86_64 qemu-edid qemu-loongarch64 qemu-mips.real qemu-pr-helper qemu-system-aarch64 qemu-system-mips64 qemu-system-riscv32 qemu-ga qemu-mips qemu-nbd qemu-riscv32 qemu-system-arm qemu-system-mips64el qemu-system-riscv64 qemu-i386 qemu-mips64 qemu-ppc qemu-riscv64 qemu-system-i386 qemu-system-mipsel qemu-system-sh4 Split the qemu package into qemu-7.2.0-*.rpm, qemu-system-*.rpm, qemu-user-*.rpm and etc. And let user can only choose the corresponding qemu arch package they want to install should ease the concerns who cares much about the size in embedded device as it decreases the qemu rpm (qemu-7.2.0*.rpm) size from about 65M to about 19M and the size of the extracted qemu RPM decreased from about 464M to about 248M. For the users who want to install all arch packages, they can install qemu-system-all and qemu-user-all to meet their need. (From OE-Core rev: 893846ead7ee54d53e9076150cd655e0c8bca5db) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-22qemu: add PACKAGECONFIG for debuginfo supportRoss Burton
qemu was auto-detecting the presence of libdw from elfutils, which causes problems with a sstate object for qemu-native built with libdw is ran on a machine without libdw. We have no need for the debuginfo support to be enabled, so disable this by default. (From OE-Core rev: 9afb0fbfbf2cde3b1c3f0995f883fe6887e9f103) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-05qemu: Whitelist CVE-2023-0664Virendra Thakur
This CVE is related to Windows. Link: https://nvd.nist.gov/vuln/detail/CVE-2023-0664 (From OE-Core rev: d5ce88c15183c2bf887543c8c31e9c31aaa56a1a) Signed-off-by: Virendra Thakur <virendrak@kpit.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-04qemu: Upgrade 7.2.0 -> 8.0.0Richard Purdie
Drop backported/merged patches: Revert-linux-user-add-more-compat-ioctl-definitions.patch configure-Fix-check-tcg-not-executing-any-tests.patch contrib-vhost-user-blk-Replace-lseek64-with-lseek.patch Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch Drop socket chardev patch with conflicts: chardev-connect-socket-to-a-spawned-command.patch This last patch was added in support of swtpm however it isn't clear if anyone is still using that workflow. The patch uses API calls such as as qemu_fork() which were removed in 8.0.0 and replaced with gspawn calls. If anyone needs the patch, it will be better for them to forward port it, test it and reinstate it, preferably with a discussion with upstream about it too. (From OE-Core rev: fe8125565af07b73f9b29db2188ecb6e884bcc70) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-04qemu: Add fix for powerpc instruction fallback issueRichard Purdie
See the patch for more details, fixes a regression in qemu causing illegal instructions in libm on powerpc, triggered by a libinput upgrade. https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=f1c56cdff09f650ad721fae026eb6a3651631f3d was the glibc code generating the instruction and triggering the issue. (From OE-Core rev: bf0e4c8bb6ba22274d17d74c1df69a78f8aa157c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-05qemu: rename deprecated --enable-trace-backend configure optionThomas De Schampheleire
qemu 6.2 deprecated the configure option '--enable-trace-backend' in favor of '--enable-trace-backends' [1] Rename accordingly. [1] https://wiki.qemu.org/ChangeLog/6.2#Build_Information (From OE-Core rev: 9e41fac1c2ee15aaff9926dac3c0233430adff12) Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-05qemu: retain default trace backend if 'ust' is not enabledThomas De Schampheleire
The qemu build system enables the 'log' trace backend by default, if no explicit choice was made with '--enable-trace-backend=CHOICE'. However, the qemu recipe uses the following PACKAGECONFIG line: PACKAGECONFIG[ust] = "--enable-trace-backend=ust,--enable-trace-backend=nop,lttng-ust," which means that the 'nop' trace backend will be explicitly selected if the 'ust' feature is not enabled. The 'nop' backend removes almost all trace points at compile time, and thus basically means 'disable tracing'. To retain the default trace backend if 'ust' is not enabled, the above PACKAGECONFIG line should either explicitly fall back to the 'log' backend, or not provide any value for the 'disabled' case. This commit chooses the latter to not make any assumption about the upstream default. (From OE-Core rev: c31396a30dcf17ab23ff4dd5943eef5fba20cba6) Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-05qemu: make tracetool-generated output reproducibleThomas De Schampheleire
'#line' directives written by qemu's tracetool makes the 'debug' package not reproducible due to absolute paths. Apply a patch to use a relative path instead. (From OE-Core rev: 85e30c507b63fa9126887dc6435d1ee6e23bd887) Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14qemu: split out qemu-guest-agent, add startup scriptsClément Péron
Split out the QEMU guest agent into a separate package. The agent is intended to be installed within a QEMU VM guest where a user is likely to not want to have the rest of the QEMU installation within it. Additionally, an initscript, udev rules file, and systemd unit file are added to the package so that the guest agent can start automatically; the former two come from Debian's packaging for qemu-guest-agent. (From OE-Core rev: d62fd31c70a9161596594f43c58c73898bfcf52c) Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24qemu: Fix building with 6.2 kernel headersJoel Stanley
When building native qemu with 6.2 kernel headers, qemu fails to build: In file included from /usr/include/linux/btrfs.h:29, from ../qemu-7.2.0/linux-user/syscall.c:165: /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ 50 | struct file_clone_range { | ^~~~~~~~~~~~~~~~ ../qemu-7.2.0/linux-user/syscall.c:129:8: note: originally defined here 129 | struct file_clone_range { | ^~~~~~~~~~~~~~~~ Backport changes to linux-user that remove the local copy of struct file_clone_range. Patches from https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ (From OE-Core rev: 65b1e199dcaabf93bae33e06727bb1238b703d83) Signed-off-by: Joel Stanley <joel@jms.id.au> Tested-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-04base: add support for loongarch64Xiaotian Wu
(From OE-Core rev: 759baaceb4dd623d5da12ba0d01540fa080154ba) Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-09qemu: fix recent reproducibility issuesAlexander Kanavin
Not only break when not in a loop is undefined, different shells do different things when they see it. (From OE-Core rev: 11c034b427c4d44f4013fa4ddf7c3d1264bab219) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-31qemu: disable sporadically failing test-io-channel-commandAlexander Kanavin
[YOCTO #14996] (From OE-Core rev: e7f032b3f797f76dbb4ffa42fa5364624c6fb08b) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-26qemu: update 7.1.0 -> 7.2.0Alexander Kanavin
qemu no longer carries libslirp in-tree, so enabling slirp requires providing external libslirp. Another noteworthy change is: x86: TCG support for AVX, AVX2, F16C, FMA3 and VAES instructions ... which means both meta-intel and qemu x86 targets can now fully utilize Haswell-and-later instruction set with benefits for performance in emulation and on silicon. Changelog: https://wiki.qemu.org/ChangeLog/7.2 (From OE-Core rev: d82e521995832580e990c0c173651aafd43d299c) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-22qemu: Fix build with largefile supportKhem Raj
drop using lfs64 specific functions and macros (From OE-Core rev: 82fd98d6d8de17424ed9f129a1661645253ef7ae) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08qemu: Ensure libpng dependency is deterministicRichard Purdie
If the host has libpng, because of the way we handle the GL dependency in qemu, it can cause determinism issues. Add a specific PACKAGECONFIG entry for libpng to avoid this (and the associated autobuilder/uninative glibc symbol mismatch failures). (From OE-Core rev: 34afdd0bf5e2810d440bcd378ba1023159c2b2d0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-28qemu: backport the fix for CVE-2022-3165Ross Burton
(From OE-Core rev: d820389728b0f5e085954b4f995da2b2014acedf) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26qemu-native: Add PACKAGECONFIG option for jackJeremy Puhlman
With libjack-devel or jack-audio-connection-kit-devel, qemu-native detects the library/header and tries to build with it. Since its missing from the sysroot, it fails to build. -O2 -fPIE -D_REENTRANT -Wno-undef -MD -MQ libcommon.fa.p/audio_jackaudio.c.o -MF libcommon.fa.p/audio_jackaudio.c.o.d -o libcommon.fa.p/audio_jackaudio.c.o -c ../qemu-6.2.0/audio/jackaudio.c | ../qemu-6.2.0/audio/jackaudio.c:34:10: fatal error: jack/jack.h: No such file or directory | 34 | #include <jack/jack.h> | | ^~~~~~~~~~~~~ | compilation terminated. (From OE-Core rev: 27260be388f7f9f324ff405e7d8e254925b4ae90) Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>