Commit Graph

293 Commits

Author SHA1 Message Date
Alistair Francis
c33c20733d qemu: Add RISC-V support
(From OE-Core rev: 188f4d258587a8bed9c91922ed8d141dbea4232d)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-04 00:02:16 +01:00
Jeremy Puhlman
e1ea678e0b qemu: CVE-2018-11806 slirp heap buffer overflow
(From OE-Core rev: c03cef42e079e4ed3d1e4f401722778157158bd6)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-27 13:55:21 +01:00
Alexander Kanavin
4699d29ac2 package_manager.py: rework postinst_intercept failures
Previously a warning was printed regardless of context and nature
of the failure, and because it was only a warning, it was mostly ignored.

Now, the following is considered when a failure happens:
1) whether we are installing packages into a target image, or populating
a SDK with host or target packages.
2) whether the failure was due to qemu not supporting the target machine.

Accordingly, warnings, notes, and failures are printed, and postponing
to first boot happens if possible.

(From OE-Core rev: a335e78672b1e1ae3ea6427f6a805218e513bb52)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-18 11:07:58 +01:00
Alexander Kanavin
87631af640 qemuwrapper-cross: enable multilib and nativesdk variants of the script
Previously only one global variant of the script was created,
which caused numerous issues:

1) multilib was not properly supported due to multilib variants each
needing their own version of the qemu binary and library paths to be set
2) nativesdk was not properly supported for the same reason

This patch also moves setting LD_LIBRARY_PATH directly into the
recipe, as passing it down from other recipes did not work when
said recipes were allarch, and adjusts calls to qemuwrapper from
postinst-intercepts, so that its correct variant is selected.

Also, the various qemu fallbacks in qemuwrapper script are all removed,
as they are no longer necessary.

(From OE-Core rev: d10fd6ae3fe46290c6e3a5250878966d9f12ca3f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-18 11:07:58 +01:00
Ross Burton
d7c5ae6ea9 qemu: don't inherit autotools
qemu doesn't use autotools, so don't inherit it and just call 'make install'
directly.

No need to alter makefiles anymore, as they appear to respect CFLAGS now.

Remove a chmod of beginend_funcs.sh (a file we patched in, and removed,
many years ago).

(From OE-Core rev: b52a9d108d72ebdf93f2dc51aa6f26ccc890d451)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15 17:56:24 +01:00
Martin Jansa
e8b2fba751 qemu: use sdl2 instead of sdl1
* sdl1 since qemu-2.12.0 depends on x11 in DISTRO_FEATURES, switch to sdl2

(From OE-Core rev: b90aaf0ca1bd82cca2f13164407881c53f15739c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-07 08:52:55 +01:00
Martin Jansa
484b48b814 qemu: add PACKAGECONFIG for virglrenderer, usb-redir and spice
* drop "fdt sdl" listed twice in PACKAGECONFIG
* keep all 3 disabled by default
* spice, usbredir recipes will eventually be in meta-networking layer
  (you can use jansa/spice branch from meta-openembedded-contrib repository)
* virglrenderer recipe will eventually be in oe-core layer
  (you can use jansa/qemu branch from openembedded-core-contrib repository)

(From OE-Core rev: ebb6ef1dbc7e03a4b7030b3056bd0fa59fdd047b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-07 08:52:55 +01:00
Martin Jansa
f8ec8e89bb qemu: upgrade to 2.12.0
* drop patches which are now included upstream
* revert "linux-user: fix mmap/munmap/mprotect/mremap/shma" which is
  causing
  0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
  to stop working and qemu-i386 hanging during gobject-introspection in
  webkitgtk when building for qemux86 with musl

(From OE-Core rev: e9d6e09bb51a857ce248f45124548d338a350ba1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-07 08:52:55 +01:00
Martin Jansa
dfc9dd521b qemu: refresh patches with devtool and make them applicable with git
(From OE-Core rev: e8fb42f3a54e8b8d68ae216a48534fa745ea99f1)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-04 15:15:00 +01:00
Hongxu Jia
722fbf6c73 qemu: fix CVE-2017-16845
During Qemu guest migration, a destination process invokes ps2
post_load function. In that, if 'rptr' and 'count' values were
invalid, it could lead to OOB access or infinite loop issue.
Add check to avoid it.

(From OE-Core rev: 0d8f68fe43b4da1a0d356fe6bedb52b8f2a02081)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Juro Bystricky
2a3e8ad0b9 qemu_2.11.1.bb: support mingw build
The patch chardev-connect-socket-to-a-spawned-command.patch calls
"socketpair". This function is missing in mingw, so the patch
needs to be modified accordingly (by conditional compilation using
_WIN32 macro where appropriate), otherwise we end up with a broken
mingw build.

While it is possible to simply remove the whole patch for mingw build
(via a .bbappend file in meta-mingw), it makes more sense to modify
the patch itself.

(From OE-Core rev: 2d955bb53a8ee36c0a648c23293139612f33f97b)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-18 18:57:06 +01:00
Ruslan Ruslichenko
6db7d80443 qemu: do not hardcode python2.7 path
It can be installed to some non standard path in which
case build will be broken.
As python2.7 is specified in HOSTTOOLS we can rely
that it is present in the PATH, so no need to hardcode
it to /usr/bin.

(From OE-Core rev: a200d22b26aded093289cb9150b3f05f76578c83)

Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-03 23:53:20 +01:00
Ross Burton
b9a1af507b qemu: actually use the aarch64 patch
(From OE-Core rev: 590c2f13325c3f8906850c6e3b71f2fac8ed6336)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-30 00:31:18 +01:00
Victor Kamensky
6ce015360c qemu: fix qemuarm64 intermediate kernel hang in raid6_select_algo func
Backport fix from qemu mainline for intermediate qemuarm64 hang
issue. Root caused in OE environment, issue with aarch64 qemu
logic of executing instructions that reenabe interrupts. See patch
commit message for more details.

Upstream-Status: Backport
(From OE-Core rev: aa33945fc7cf7bfa859c4091bcfa2695c422849b)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-28 12:09:52 +01:00
Alexander Kanavin
0fffb6a8d8 qemu: drop already applied glibc-2.25.patch
Due to patch fuzz it was applied again in a different place.

(From OE-Core rev: c1596c6a26bc099a5f27f8a7f9feb7d07bd30cd5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
81995e2a0e qemu: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: a5c1069d2c0570186792d61151e1865642afd73a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alistair Francis
704d0b114d recipes-devtools: Bump QEMU to 2.11.1
Bump the QEMU version to the bug fix release of 2.11.1 and remove the
patches that are no longer required.

(From OE-Core rev: da7fa8a15dfafd07e5956b69996d99880596c333)

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-24 10:31:45 +00:00
Alexander Kanavin
2f030dfc08 nativesdk-qemu-helper: add a missing nativesdk-python3-logging dependency
[YOCTO #12545]

(From OE-Core rev: 6e5dbb53a7cbd05baf07de62b1abc88dccfd4cb9)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-22 16:02:23 +00:00
Ross Burton
78311acbd3 qemu: fix CVE-2017-15124
VNC server implementation in Quick Emulator (QEMU) 2.11.0 and older was found to
be vulnerable to an unbounded memory allocation issue, as it did not throttle
the framebuffer updates sent to its client. If the client did not consume these
updates, VNC server allocates growing memory to hold onto this data. A malicious
remote VNC client could use this flaw to cause DoS to the server host.

Backport a series of patches from upstream to resolve this.

(From OE-Core rev: a93d8ed1bc97595492abfca92d606e20dbdfa617)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16 18:05:39 +00:00
Ross Burton
ccd25825a0 qemu: fix memfd_create with glibc 2.27
glibc 2.27 has added memfd_create() but this conflicts with a copy in qemu, so
take a patch from upstream to fix building with glibc 2.27.

(From OE-Core rev: 207733bb875b1a6b932ecd04a34a0ee118511d1f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06 11:06:27 +00:00
Alejandro Hernandez
7aaffbede4 python: fix RDEPENDS on several recipes, due to non-existent packages
The packaging has been altered slightly so ensure the dependencies are all still
valid.

(From OE-Core rev: 3328211afdef8ffb00dd4dff1143959d5412b075)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-20 22:31:56 +00:00
Alistair Francis
a69425e49a qemu: Bump to version 2.11.0
Use the latest QEMU release 2.11. Remove all patches that are no longer
required as they have been merged into the 2.11 releaese. One patch had
to be updated to apply to the 2.11 tree.

This also applies a linux user patch to avoid webkitgtk build hangs.

(From OE-Core rev: d6d0d99569e0d8b62a61e27d389e7939af45bab9)

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-18 12:50:37 +00:00
Catalin Enache
b9dcab772f qemu: CVE-2017-17381
The Virtio Vring implementation in QEMU allows local OS guest users to
cause a denial of service (divide-by-zero error and QEMU process crash)
by unsetting vring alignment while updating Virtio rings.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-17381

Upstream patch:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=758ead31c7e17bf17a9ef2e0ca1c3e86ab296b43

(From OE-Core rev: 92a0513837182e2e9aa6c7d4958e495f4b5b4c47)

Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 09:11:58 +00:00
Juro Bystricky
bc112b8368 qemu-2.10.1.bb: support mingw build
The patch chardev-connect-socket-to-a-spawned-command.patch calls
"socketpair". This function is missing in mingw, so the patch
needs to be modified accordingly, otherwise we end up with a broken
mingw build.
While it is possible to simply remove the patch on a recipe level for
mingw platform, it makes more sense to modify the patch itself.

(From OE-Core rev: fd978a5ddf6938404f2043c9f9ede47dcdb47180)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-13 10:15:20 +00:00
Patrick Ohly
9ec52f7f88 qemu: use upstream swtpm support
Upstream finally accepted and merged a different approach for
connecting QEMU to swtpm: instead of a custom cuse-tpm device, a
normal chardev connects to swtpm, and that chardev then is used by the
TPM device. For now we have to backport those patches, but the next
major QEMU update will have them.

However, the chardev-connect-socket-to-a-spawned-command.patch is
something that OE will have to carry permanently. It simplifies
starting and stopping swtpm when invoking QEMU through runqemu without
having to teach that script about the additional process. Upstream
rejected the patch because they want to keep the complexity of
starting additional processes out of QEMU.

A recent enough swtpm is needed. The one currently used by
meta-security fails to communicate properly with QEMU, leading to this
failure:

  qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm0: tpm-emulator: Failed to send CMD_SET_DATAFD: Input/output error
  qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm0: tpm-emulator: Could not cleanly shutdown the TPM: Invalid argument

With a recent enough swtpm, one can create a TPM device like this:

  - bitbake swtpm-native
  - create a TPM instance and initialize it with:

       $ mkdir -p my-machine/myvtpm0
       $ tmp*/work/*/swtpm-wrappers-native/*/swtpm_setup_oe.sh --tpm-state my-machine/myvtpm0 --createek
       Starting vTPM manufacturing as root:root @ Wed 06 Dec 2017 10:03:14 AM CET
       TPM is listening on TCP port 34613.
       Successfully created EK.
       Successfully authored TPM state.
       Ending vTPM manufacturing @ Wed 06 Dec 2017 10:03:14 AM CET

  - runqemu "qemuparams=-chardev 'socket,id=chrtpm0,cmd=exec
    swtpm_oe.sh socket --terminate --ctrl type=unixio,,clientfd=0
    --tpmstate dir=... --log level=10,,file=.../swtpm.log --tpm2'
    -tpmdev emulator,id=tpm0,chardev=chrtpm0 -device
    tpm-tis,tpmdev=tpm0" ...

Beware that the double commas are intentional. They are needed to
embed commas in the "cmd" value.

swtpm_oe.sh is from swtpm-wrappers-native. In the example it is
invoked without the full path for the sake of brevity. In practice,
one has to use the full
path (tmp*/work/*/swtpm-wrappers-native/*/swtpm_oe.sh).

With the TPM2-preview version of swtpm, the same works for TPM2 by
adding the --tpm2 parameter when invoking swtpm_setup_oe.sh and
swtpm_oe.sh.

(From OE-Core rev: 82f37aa4c5152f104897fff04f09ad55c20c2a3f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-10 22:45:21 +00:00
Jackie Huang
db7df005a3 qemu: fix the makefile for ptest
It always fail to check the file generated by configure
when running ptest on the target since it's cross-compiling,
so remove the check from the Makefile for ptest.

(From OE-Core rev: 839f5ed91a8061506b1f71661ec4006783146672)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-10 22:45:18 +00:00
Richard Purdie
2713f71a26 qemu: Add patch to avoid qemuppc boot hangs
qemuppc boots are occasionally hanging on the autobuilder. This adds a
patch which fixes the issue in local testing. Its being discussed with
upstream qemu.

(From OE-Core rev: 87719e35db08b21cd43ab3ebd72f4567ca0fdc65)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-21 13:11:03 +00:00
Leonardo Sandoval
1714a598b1 qemu: upgrade to 2.10.1
All CVE patches removed because these are already integrated in 2.10.1.

(From OE-Core rev: ad3e2e2fde557aba0a53bc91d1746518c34b4bd8)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-11-08 22:24:04 +00:00
Yi Zhao
4db9f48854 qemu: Security fixes
Fix CVE-2017-13672, CVE-2017-13673, CVE-2017-13711, CVE-2017-14167

References:
https://nvd.nist.gov/vuln/detail/CVE-2017-13672
https://nvd.nist.gov/vuln/detail/CVE-2017-13673
https://nvd.nist.gov/vuln/detail/CVE-2017-13711
https://nvd.nist.gov/vuln/detail/CVE-2017-14167

Patches from:
CVE-2017-13672:
https://git.qemu.org/?p=qemu.git;a=commit;h=3d90c6254863693a6b13d918d2b8682e08bbc681
CVE-2017-13673:
https://git.qemu.org/?p=qemu.git;a=commit;h=e65294157d4b69393b3f819c99f4f647452b48e3
CVE-2017-13711:
https://git.qemu.org/?p=qemu.git;a=commit;h=1201d308519f1e915866d7583d5136d03cc1d384
CVE-2017-14167:
https://git.qemu.org/?p=qemu.git;a=commit;h=ed4f86e8b6eff8e600c69adee68c7cd34dd2cccb

(From OE-Core rev: acc5036a6b74a76d719e6f7224a398f47df4a041)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-22 17:15:30 +01:00
Yi Zhao
bbe5542897 qemu: remove unused patches
Remove the following patches since they are unused after qemu update to
2.10:
  0001-replace-struct-ucontext-with-ucontext_t-type.patch
  CVE-2016-9908.patch
  CVE-2016-9912.patch
  configure-fix-Darwin-target-detection.patch

(From OE-Core rev: d303f61e28b0ecc2352739a07680bfdeb3544080)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-22 17:15:30 +01:00
Alistair Francis
bb503a66de devtools: qemu: Remove obsolete '--with-system-pixman' option
QEMU version 2.11 will remove the pixman submodule. This means users are
always required to supply pixman from the system if building softmmu
support in QEMU.

Without specifying a pixman configure option QEMU will default to using
the system pixman if it is avaliable. In which case let's remove the
config option as it is no longer supported in recent commits and is not
required in older builds as the configure system defaults are already
using system pixman.

(From OE-Core rev: db1fc2ec360eb5dad1363634458ec4b56e7bbb9d)

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-21 09:24:24 +01:00
Huang Qiyu
75cfd0dbec qemuwrapper-cross: Add HOMEPAGE info into recipe file.
(From OE-Core rev: c0a1128a1f1fa2b86ba1cb97d9ff17f5a7a76e59)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-21 09:05:50 +01:00
Juro Bystricky
1e29d2fcf3 qemu: upgrade to version 2.10.0
Remove recipes for older versions.
Remove patches no longer needed.
Modify the patch "add-ptest-in-makefile.patch" for version 2.10.0

(From OE-Core rev: 22593f3dd95dd332d2f89429c7de2cb5a09aa3e9)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-02 00:52:10 +01:00
Alexander Kanavin
759c7d4672 qemu: fix upstream version check
(From OE-Core rev: 0f3074318adf80a9ba681f2318329dc2ae2a4bb8)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-27 22:30:06 +01:00
Chen Qi
045e3f9283 qemu: backport patches to fix boot failure
Backport two patches to fix the following error when booting qemu.

  Failed to unlock byte 100

(From OE-Core rev: 91eee8b08cd52f49bb1c8f8c680607b3f3a52d24)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Juro Bystricky
7f45ea5083 qemu: upgrade to 2.10-rc2
In order to support Nios2 emulation by QEMU, we need
at least QEMU version 2.9.

(From OE-Core rev: f2d725d9268563f7bbcac770a34aceacb56cb2aa)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
He Zhe
f20a63aee3 qemu: apic: fallthrough to PIC
Backport a commit from qemu upstream to fix a protection fault

https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html

(From OE-Core rev: 88a4a872a7f22be52faa965bc05c57d8466e0eed)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Richard Purdie
35e3cb3012 rm_work: Improve handling for addto_recipe_sysroot
Rather than requiring each user to handle this individually, handle
addto_recipe_sysroot in the core class. As well as preserving the
sysroot directory, this also ensures the stamp is preserved rather
than rerunning the task every time as currently happens.

(From OE-Core rev: bf8b9858d9ccce27173d13938a83d249294cc473)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-31 15:13:31 +01:00
Khem Raj
ca3886ac96 qemu: Replace use of struct ucontext with ucontext_t
(From OE-Core rev: 03b068881cc22d40c63bb23405b37ce9277460f1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-06 14:38:14 +01:00
Richard Purdie
a5bf271c7c meta: Add/fix missing Upstream-Status to patches
This adds or fixes the Upstream-Status for all remaining patches missing it
in OE-Core.

(From OE-Core rev: 563cab8e823c3fde8ae4785ceaf4d68a5d3e25df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-27 10:38:43 +01:00
Aníbal Limón
989bbb9803 qemu: Upgrade to 2.8.1.1
Removed patch target-ppc-fix-user-mode.patch [1] already on
upstream.

[1] http://git.qemu.org/?p=qemu.git;a=history;f=linux-user/main.c;
h=65a769cf797254a86a7cf589d69e67595a9e1adb;hb=refs/heads/stable-2.8

(From OE-Core rev: 13f34c172dae842427365be3a891248a76104c28)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-25 23:59:32 +01:00
brian avery
0637c5ab25 qemu-helper-native: prepare native sysroot for runqemu
Make sure that native sysroot contains qemu and tunctl binaries for
runqemu usage:
  - excluded native sysroot from rm_work
  - added qemu-native to DEPENDS to put qemu binaries into native sysroot
  - forced addto_recipe_sysroot task

[YOCTO #11266]
[YOCTO #11193]

(From OE-Core rev: 2e7a155774952705d21109720985f6833fba2669)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-13 10:54:10 +01:00
Martin Kelly
e340af0449 qemu: use python2.7 instead of python2
meta/conf/bitbake.conf puts python2.7 into the HOSTTOOLS variable but not
python2, so only python2.7 is guaranteed. In addition, on some distros -- such
as Amazon Linux -- /usr/bin/python2 doesn't exist but python2.7 does. So, use
python2.7 for the --python= argument in the qemu configure step.

(From OE-Core rev: 88dc8b532817f4779b35422a413d5c700c130a74)

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:43 +01:00
Jussi Kukkonen
a6707eda1d qemu: Remove uuid PACKAGECONFIG
--enable-uuid no longer exists: There's a uuid implementation in
libqemuutil.

(From OE-Core rev: 9da623d569ae552b1772a3b3a06df3cbf76cd573)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16 22:11:32 +00:00
Sona Sarmadi
0884c80070 qemu: display: CVE-2016-9912
virtio-gpu: memory leakage when destroying gpu resource

Reference:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9912

Reference to upstream patch:
http://git.qemu-project.org/?p=qemu.git;a=patch;h=b8e23926c568f2e963af39028b71c472e3023793

(From OE-Core rev: 8bf7ade372b46b8a872661a7904fbaa30fa262a2)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Sona Sarmadi
5724b1e3d9 qemu: display: CVE-2016-9908
virtio-gpu: information leakage in virgl_cmd_get_capset

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9908

(From OE-Core rev: f5f4a08baeb4864984fcb9a837a3a8c51274df2b)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
27fbd839d4 qemu: Move recipe version specific patches and features to recipe
Move all the version specific patches, overrides and configuration that
are in qemu.inc to the versioned QEMU recipe.

This includes moving patches that target the versioned recipe, ptest
configuration (which is not available in QEMU by default) and the
installing of the powerpc_rom.bin.  All these patches/files are also
only located in the FILESEXTRAPATHS that is valid from the recipe file
and not from qemu.inc itself.

The purpose of this change is to make the qemu.inc re-usable for
multiple versions of QEMU as well as forks and recipes that intend to
provide custom patches.

(From OE-Core rev: 2431faeb88a008b501547808fb8632943b992dcb)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
ed25789bc0 qemu: Convert KVMOPTS to PACKAGECONFIG
Move the KVMOPTS configuration checks and option setting to a
PACKAGECONFIG option.

This also changes the checking of KVM support on the host build machine
so that it is processed as a PACKAGECONFIG _remove for class-native
only. The darwin/mingw32 overrides are kept and applied as _remove
overrides.

(From OE-Core rev: 75a1dd39a63329e9b2d41d3a12ff58049248d2ff)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
6e7a2f0ba3 qemu: Consolidate EXTRA_OECONF
Consolidate the configure options into the EXTRA_OECONF variable,
including merging any native(sdk) specific options.

This consolidation also makes the use of 'system' pixman in the
nativesdk case, this is desirable as the QEMU internal pixman may not be
available (using QEMU git as opposed to tarball) and pixman is already
in DEPENDS. Additionally the QEMU configure recommends to use the system
pixman if available.

Additionally move the options specified in the do_configure into the
EXTRA_OECONF variable. And flesh out all the target directories.

(From OE-Core rev: 9d908f6369e938f1da4456dbc07c64f328656182)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:57 +00:00
Nathan Rossi
7065bb2148 qemu: Improve and add PACKAGECONFIG options
Move the '--disable-bluez' and '--disable-iscsi' options to
PACKAGECONFIG. And added the ${BLUEZ} dependency.

Fix up the 'gcrypt' option to depend on 'libgcrypt' instead of gcrypt.
This is the expected dependency as noted in the QEMU configure help.

Handle the '--audio-drv-list' option inside the PACKAGECONFIG[alsa]
args. The previous setting uses a ',' to denote the options for the arg
however a space inside quotes is also acceptable and allows the arg to
be used into the PACKAGECONFIG flag.

(From OE-Core rev: 0aca9b735c6f9d7ffe2826e624942a563c501d1f)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00