Commit Graph

512 Commits

Author SHA1 Message Date
Lee Chee Yang
ddeefb3df3 qemu: 8.1.2 -> 8.1.4
update include fix for CVE-2023-3019.
CVE-2023-3019 : 88e79a2dfd

(From OE-Core rev: 2a2f2b5be2070544f0ab98144e4c31c749b7d504)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-01-27 08:09:47 -10:00
Richard Purdie
c3b03830ca qemu: Upgrade 8.1.0 -> 8.1.2
Drop three backport patches as they're applied upstream.

( cherry-pick from commit 7480ff9064a74858e83e0ae275dbdb78dd6fc2a4 )

(From OE-Core rev: 3ab0c546f656a86dfbf716bb8f4d1d8b27f16692)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-12-05 11:51:37 -10:00
Lee Chee Yang
1e94086808 qemu: ignore RHEL specific CVE-2023-2680
(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-17 11:41:34 +01:00
Jon Mason
29f2ecdd6c qemu: drop unreferenced patch
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>
2023-10-14 22:45:42 +01:00
Yogita Urade
ba7ac22f2e qemu: fix CVE-2023-42467
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-10-06 11:51:11 +01:00
Richard Purdie
1b94ea8b25 recipes: Drop remaining PR values from recipes
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>
2023-09-22 07:45:17 +01:00
Khem Raj
a8b6f96018 qemu: Add PACKAGECONFIG for dax
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-20 23:51:11 +01:00
Ross Burton
de3f6ad173 qemu-system-native: enable PNG support
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>
2023-09-07 07:53:51 +01:00
Richard Purdie
fad769ae8b qemu: Add patches to resolve x86 and then mips boot issues
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-07 07:53:50 +01:00
Richard Purdie
f694084dbc qemu: Upgrade 8.0.4 -> 8.1.0
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-09-07 07:53:50 +01:00
Khem Raj
ca098d1728 qemu: Fix CVE-2023-40360
(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-30 09:56:13 +01:00
Markus Volk
513c21b8fc qemu: add packageconfigs for fuse and dbus-display
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-29 09:41:07 +01:00
Markus Volk
be3f83029c qemu: build pulseaudio support depending on distro_feature
(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>
2023-08-29 09:41:07 +01:00
Markus Volk
53774ffaf7 qemu: fix libudev packageconfig for systemd images
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-29 09:41:07 +01:00
Richard Purdie
05affd7d0d qemu: Upgrade 8.0.3 -> 8.0.4
(From OE-Core rev: ed1789638d025447db8f28d71d119de85a696b09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15 08:15:25 +01:00
Mingli Yu
3abd781d34 qemu: Add qemu-common package
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-08-15 08:15:25 +01:00
Andrej Valek
c15e506a46 cve_check: convert CVE_CHECK_IGNORE to CVE_STATUS
- 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-21 11:52:26 +01:00
Etienne Cordonnier
d335aea8e8 qemu: fix typo
(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-14 17:31:06 +01:00
Trevor Gamblin
832c59d8b8 qemu: upgrade 8.0.0 -> 8.0.3
ppc.patch is removed because it is included in 8.0.3:
864ce70c1c

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-14 17:31:05 +01:00
Mingli Yu
71eef513bb qemu: Add qemu-user-* and qemu-system-* to PACKAGES_DYNAMIC
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-07-10 11:36:34 +01:00
Richard Purdie
460fabb834 oeqa/selftest/oescripts: Fix qemu-helper selftest
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>
2023-06-17 11:33:22 +01:00
Richard Purdie
609fc15718 runqemu/qemu-helper: Drop tunctl
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>
2023-06-16 15:40:11 +01:00
Alexander Kanavin
6d40da81c1 qemu: a pending patch was submitted and accepted upstream
(From OE-Core rev: f59df55d63a8841c834bbc488589209e7f23f803)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-15 08:00:41 +01:00
Mingli Yu
1edd0b41f8 qemu: Split the qemu package
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-06-09 13:55:21 +01:00
Martin Jansa
829580b554 qemu: remove unused qemu-7.0.0-glibc-2.36.patch
* 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>
2023-05-25 12:36:00 +01:00
Ross Burton
4c0c0201c0 qemu: add PACKAGECONFIG for debuginfo support
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-22 10:53:48 +01:00
Richard Purdie
d54530b3da qemu: Further updates to the ppc patch after upstream discussion
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>
2023-05-11 17:08:29 +01:00
Richard Purdie
be08694f00 qemu: Update ppc instruction fix to match revised upstream version
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>
2023-05-07 09:38:02 +01:00
Virendra Thakur
92036d454a qemu: Whitelist CVE-2023-0664
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-05 11:07:26 +01:00
Richard Purdie
fb8d21e73f qemu: Upgrade 7.2.0 -> 8.0.0
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-04 12:15:31 +01:00
Richard Purdie
12e2d10541 qemu: Add fix for powerpc instruction fallback issue
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-05-04 12:14:57 +01:00
Thomas De Schampheleire
bb1cd7e0ca qemu: rename deprecated --enable-trace-backend configure option
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-05 17:26:53 +01:00
Thomas De Schampheleire
e36aa2418f qemu: retain default trace backend if 'ust' is not enabled
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-05 17:26:53 +01:00
Thomas De Schampheleire
f5fc2acb4e qemu: make tracetool-generated output reproducible
'#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-04-05 17:26:53 +01:00
Clément Péron
1c01cbaed5 qemu: split out qemu-guest-agent, add startup scripts
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-03-14 17:10:00 +00:00
Joel Stanley
eb6b28bfe1 qemu: Fix building with 6.2 kernel headers
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-24 11:04:28 +00:00
Xiaotian Wu
324b03e15f base: add support for loongarch64
(From OE-Core rev: 759baaceb4dd623d5da12ba0d01540fa080154ba)

Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-04 17:02:10 +00:00
Alexander Kanavin
719998024f qemu: fix recent reproducibility issues
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>
2023-01-09 10:07:38 +00:00
Alexander Kanavin
19adb2236b qemu: disable sporadically failing test-io-channel-command
[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-31 17:08:29 +00:00
Alexander Kanavin
9caff14abb qemu: update 7.1.0 -> 7.2.0
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-26 18:49:07 +00:00
Khem Raj
dfd4944fc1 qemu: Fix build with largefile support
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-22 23:05:50 +00:00
Richard Purdie
9e2e0e73a4 qemu: Ensure libpng dependency is deterministic
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-12-08 09:31:10 +00:00
Alexander Kanavin
dea0b2d2a9 qemu-helper: depend on unfs3 and pseudo directly
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>
2022-11-29 10:29:58 +00:00
Joshua Watt
93707ae156 qemu-helper-native: Correctly pass program name as argv[0]
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>
2022-11-20 08:29:08 +00:00
Ross Burton
8dc68c2a80 qemu: backport the fix for CVE-2022-3165
(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-28 09:44:52 +01:00
Joshua Watt
8dd2fa2205 qemu-helper-native: Re-write bridge helper as C program
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>
2022-10-26 12:28:39 +01:00
Jeremy Puhlman
b49764df34 qemu-native: Add PACKAGECONFIG option for jack
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>
2022-10-26 12:28:38 +01:00
Richard Purdie
e6a9aab3ef qemu: Add patch to address arm qemu upgrade issues
Upgrading qemu to 7.1.0 caused some issues in meta-arm for optee and
for zephyr as well:

https://github.com/OP-TEE/optee_os/issues/5551

Add in a patch being proposed to address the issue.

(From OE-Core rev: ec41bf3cf0d55c84db07069561a6807bc96fa95b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-28 22:39:29 +01:00
Ross Burton
ddc4258012 qemu: fix CVE-2022-2962
Backport the fix for CVE-2022-2962.

(From OE-Core rev: 943d28a3395455fd475cb6c84247d106adf5fca3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-22 21:39:21 +01:00
Ross Burton
a4b9310146 qemu: re-add the fix for CVE-2022-1050
This patch was accidentally dropped in the 7.1.0 upgrade, so bring it
back.

(From OE-Core rev: 09bcf6d2a661a3c39fdd13a760f6c26dd79abb69)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-22 21:39:21 +01:00