summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
Commit message (Collapse)AuthorAgeFilesLines
* qemu: Ensure pip and the python venv aren't used for mesonRichard Purdie2023-12-212-0/+46
| | | | | | | | | | | | | | | | | | | | | 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>
* qemu: Clean up DEPENDSRichard Purdie2023-12-214-5/+5
| | | | | | | | | 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>
* qemu: Add packageconfig knob to enable pipewire supportKhem Raj2023-12-211-0/+1
| | | | | | | | | | | | | | | 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>
* qemu: Fix build with latest muslKhem Raj2023-12-212-0/+58
| | | | | | | | | | 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>
* qemu: Upgrade 8.1.0 -> 8.1.2Richard Purdie2023-10-307-252/+1
| | | | | | | | Drop three backport patches as they're applied upstream. (From OE-Core rev: 7480ff9064a74858e83e0ae275dbdb78dd6fc2a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: ignore RHEL specific CVE-2023-2680Lee Chee Yang2023-10-171-0/+3
| | | | | | | (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>
* qemu: drop unreferenced patchJon Mason2023-10-141-39/+0
| | | | | | | | | | | OE Commit a7176c3b2a7e2041b9be5dabb6b0f1e62f235f76 removed the reference to this patch but did not remove the patch (From OE-Core rev: eeb7063ea70b861269aa820d19e6804b7841149e) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix CVE-2023-42467Yogita Urade2023-10-062-0/+50
| | | | | | | | | | | | | | | | | 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>
* recipes: Drop remaining PR values from recipesRichard Purdie2023-09-222-2/+0
| | | | | | | | | | | | | | | | We've been removing PR values from recipes at upgrade time for a while. In general anyone maintaining a binary distro would end up having to curate these themselves so the values in OE-Core aren't really that useful anymore. In many ways it makes sense to clear out the remaining ones (which are mostly for 'config' recipes that are unlikely to increase in PV) and leave a clean slate for anyone implementing a binary distro config. References are left in meta-selftest since the tests there do involve them and their removal upon upgrade. (From OE-Core rev: d4c346e8ab8f3cae25d1b01c7331ed9f6d4f96ef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Add PACKAGECONFIG for daxKhem Raj2023-09-201-0/+1
| | | | | | | | | | | | | | | 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>
* qemu-system-native: enable PNG supportRoss Burton2023-09-071-1/+1
| | | | | | | | | | It might be useful to grab screenshots from qemu-system-native (for example, for QA purposes). (From OE-Core rev: ff8a2edb396dfe2e9be37ddda38eaa76e63874a2) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Add patches to resolve x86 and then mips boot issuesRichard Purdie2023-09-074-0/+221
| | | | | | | | | 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>
* qemu: Upgrade 8.0.4 -> 8.1.0Richard Purdie2023-09-077-97/+37
| | | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: Fix CVE-2023-40360Khem Raj2023-08-302-0/+40
| | | | | | | | (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>
* qemu: add packageconfigs for fuse and dbus-displayMarkus Volk2023-08-291-0/+2
| | | | | | | | | | 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>
* qemu: build pulseaudio support depending on distro_featureMarkus Volk2023-08-291-1/+1
| | | | | | | | (From OE-Core rev: 6104325d32c95864830ba2d39f711d7e6e52bc00) 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>
* qemu: fix libudev packageconfig for systemd imagesMarkus Volk2023-08-291-1/+1
| | | | | | | | | | | | 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>
* qemu: Upgrade 8.0.3 -> 8.0.4Richard Purdie2023-08-154-1/+1
| | | | | | (From OE-Core rev: ed1789638d025447db8f28d71d119de85a696b09) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Add qemu-common packageMingli Yu2023-08-152-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* cve_check: convert CVE_CHECK_IGNORE to CVE_STATUSAndrej Valek2023-07-211-9/+4
| | | | | | | | | | | | | - 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>
* qemu: fix typoEtienne Cordonnier2023-07-141-1/+1
| | | | | | | | (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>
* qemu: upgrade 8.0.0 -> 8.0.3Trevor Gamblin2023-07-145-150/+1
| | | | | | | | | | | | | 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>
* qemu: Add qemu-user-* and qemu-system-* to PACKAGES_DYNAMICMingli Yu2023-07-101-0/+2
| | | | | | | | | | | | | | | | | 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>
* oeqa/selftest/oescripts: Fix qemu-helper selftestRichard Purdie2023-06-171-0/+6
| | | | | | | | | | The updated selftest was assuming qemu-bridge-helper was available on the host system which isn't always the case. Tweak the test case to avoid this issue by adding dedicated help output and checking for this specifically. (From OE-Core rev: 4a80e95d1f59e0ddcedde3f64d0a0d1dc48a6e4d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu/qemu-helper: Drop tunctlRichard Purdie2023-06-163-170/+4
| | | | | | | | | | | ip tuntap provides the functionality that we obtained from tunctl. We only needed tunctl when ifconfig was more available than ip. That isn't the case now so we can drop tunctl and all the hoops we need to jump through to build and provide it. (From OE-Core rev: 2abfbca690ff00cb58ce08a65cde006578ee3de9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: a pending patch was submitted and accepted upstreamAlexander Kanavin2023-06-151-1/+1
| | | | | | | (From OE-Core rev: f59df55d63a8841c834bbc488589209e7f23f803) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Split the qemu packageMingli Yu2023-06-091-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: remove unused qemu-7.0.0-glibc-2.36.patchMartin Jansa2023-05-251-46/+0
| | | | | | | | | | * it was removed from SRC_URI in: https://git.openembedded.org/openembedded-core/commit/?id=e94d182889ca3c02df913c59f0b66b228ffe588c (From OE-Core rev: 351c461859df02118e9fadb57320120dfbcd97eb) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add PACKAGECONFIG for debuginfo supportRoss Burton2023-05-221-0/+1
| | | | | | | | | | | | | | | 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>
* qemu: Further updates to the ppc patch after upstream discussionRichard Purdie2023-05-111-45/+46
| | | | | | | | | | After someone tested real hardware, the patch needs tweaks to match the 3.0 ISA behaviour. It won't change much from our perspective but may as well keep the patch in sync. (From OE-Core rev: 5a698a53bc0b8d5f518916b6a03d31db1272707a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Update ppc instruction fix to match revised upstream versionRichard Purdie2023-05-071-25/+102
| | | | | | | | | Upstream asked for some changes, this updates our patch to match. The differences likely don't change our real world use. (From OE-Core rev: 42591e07a469cff881fa087d5251a8c783897634) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: Whitelist CVE-2023-0664Virendra Thakur2023-05-051-0/+5
| | | | | | | | | | | | 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>
* qemu: Upgrade 7.2.0 -> 8.0.0Richard Purdie2023-05-0421-624/+106
| | | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: Add fix for powerpc instruction fallback issueRichard Purdie2023-05-042-0/+71
| | | | | | | | | | | | | 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>
* qemu: rename deprecated --enable-trace-backend configure optionThomas De Schampheleire2023-04-051-1/+1
| | | | | | | | | | | | | | 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>
* qemu: retain default trace backend if 'ust' is not enabledThomas De Schampheleire2023-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: make tracetool-generated output reproducibleThomas De Schampheleire2023-04-052-0/+88
| | | | | | | | | | | '#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>
* qemu: split out qemu-guest-agent, add startup scriptsClément Péron2023-03-143-1/+111
| | | | | | | | | | | | | | | | | 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>
* qemu: Fix building with 6.2 kernel headersJoel Stanley2023-02-243-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* base: add support for loongarch64Xiaotian Wu2023-02-041-1/+1
| | | | | | | (From OE-Core rev: 759baaceb4dd623d5da12ba0d01540fa080154ba) Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix recent reproducibility issuesAlexander Kanavin2023-01-092-0/+57
| | | | | | | | | | 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>
* qemu: disable sporadically failing test-io-channel-commandAlexander Kanavin2022-12-311-0/+2
| | | | | | | | | [YOCTO #14996] (From OE-Core rev: e7f032b3f797f76dbb4ffa42fa5364624c6fb08b) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: update 7.1.0 -> 7.2.0Alexander Kanavin2022-12-267-158/+6
| | | | | | | | | | | | | | | | | | | | | 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>
* qemu: Fix build with largefile supportKhem Raj2022-12-223-0/+397
| | | | | | | | | | 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>
* qemu: Ensure libpng dependency is deterministicRichard Purdie2022-12-081-0/+1
| | | | | | | | | | | 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>
* qemu-helper: depend on unfs3 and pseudo directlyAlexander Kanavin2022-11-292-2/+2
| | | | | | | | | | | | The eliminates having to do extra steps (e.g. meta-ide-support) when booting an image with a nfs mount as rootfs - startng runqemu with a nfs mount starts to 'just work' after building an image. (From OE-Core rev: f73e370bec16d206592a7ca01b4a86b1d1316ada) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-helper-native: Correctly pass program name as argv[0]Joshua Watt2022-11-201-11/+4
| | | | | | | | | | | | | The previous version of this wasn't correctly passing the program name as argv[0], and was also over-complicated anyway because argv[] is guaranteed to be terminated with a NULL pointer, so it can be passed directly to the execv'd process without needing to be copied. (From OE-Core rev: 6edf38add3c20c44efe0588e2815bb280d22e0c4) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: backport the fix for CVE-2022-3165Ross Burton2022-10-282-0/+60
| | | | | | | | (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>
* qemu-helper-native: Re-write bridge helper as C programJoshua Watt2022-10-263-28/+44
| | | | | | | | | | | | | | | | | | | | | The bridge helper program is invoked directly from QEMU when it needs to attach to a network bridge. As such, it is subject to the environment of QEMU itself. Specifically, if bridging is enabled with direct rendering acceleration, QEMU is run with an LD_PRELOAD that attempts to preload several uninative libraries; however /bin/sh doesn't use the uninative loader which means it can fail to start with an error like: /bin/sh: symbol lookup error: sysroots-uninative/x86_64-linux/lib/librt.so.1: undefined symbol: __libc_unwind_link_get, version GLIBC_PRIVATE Converting the helper program to a C program resolves this problem because it will now use the uninative loader so the preload doesn't cause errors. (From OE-Core rev: f698e98f2f09952b34488b8cf9e73e82bd7aea07) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-native: Add PACKAGECONFIG option for jackJeremy Puhlman2022-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | 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>