summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
Commit message (Collapse)AuthorAgeFilesLines
* qemu: CVE-2018-12617Jagadeesh Krishnanjanappa2018-08-292-0/+54
| | | | | | | | | | | | | | | | | qga: check bytes count read by guest-file-read While reading file content via 'guest-file-read' command, 'qmp_guest_file_read' routine allocates buffer of count+1 bytes. It could overflow for large values of 'count'. Add check to avoid it. Affects qemu < v3.0.0 (From OE-Core rev: a11c8ee86007f7f7a34b9dc29d01acc323b71873) Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: CVE-2018-7550Jagadeesh Krishnanjanappa2018-08-292-0/+63
| | | | | | | | | | | | | | | | | | multiboot: bss_end_addr can be zero The multiboot spec (https://www.gnu.org/software/grub/manual/multiboot/), section 3.1.3, allows for bss_end_addr to be zero. A zero bss_end_addr signifies there is no .bss section. Affects qemu < v2.12.0 (From OE-Core rev: 9f1d026168956e7bf45135577c123f7679a6ebba) Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Qemu: CVE-2018-11806 slirp-heap-buffer-overflowJeremy Puhlman2018-07-022-0/+70
| | | | | | | | | (From OE-Core rev: d3d0798086177c463142e33f1493be6e34536c64) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> [Fixed up for Sumo context] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: refresh patches with devtool and make them applicable with gitMartin Jansa2018-07-0217-145/+173
| | | | | | | | | | | | (From OE-Core rev: e8fb42f3a54e8b8d68ae216a48534fa745ea99f1) (From OE-Core rev: 0c0f1849ea0e40296117510b4d87a2505fe18e16) 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> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix CVE-2017-16845Hongxu Jia2018-06-152-0/+64
| | | | | | | | | | | | | | | | | 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) (From OE-Core rev: cdfceda098aa1a864cbb794065b9f555810c5c71) 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> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu_2.11.1.bb: support mingw buildJuro Bystricky2018-04-181-15/+31
| | | | | | | | | | | | | | | | | | 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>
* qemu: do not hardcode python2.7 pathRuslan Ruslichenko2018-04-031-1/+1
| | | | | | | | | | | | | 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>
* qemu: actually use the aarch64 patchRoss Burton2018-03-301-0/+1
| | | | | | | (From OE-Core rev: 590c2f13325c3f8906850c6e3b71f2fac8ed6336) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: fix qemuarm64 intermediate kernel hang in raid6_select_algo funcVictor Kamensky2018-03-281-0/+67
| | | | | | | | | | | | | | 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>
* qemu: drop already applied glibc-2.25.patchAlexander Kanavin2018-03-112-75/+0
| | | | | | | | | | 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>
* qemu: refresh patchesRoss Burton2018-03-112-22/+16
| | | | | | | | | | | | | | | | | | | | | 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>
* recipes-devtools: Bump QEMU to 2.11.1Alistair Francis2018-02-242-1479/+2
| | | | | | | | | | | 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>
* nativesdk-qemu-helper: add a missing nativesdk-python3-logging dependencyAlexander Kanavin2018-02-221-1/+1
| | | | | | | | | | [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>
* qemu: fix CVE-2017-15124Ross Burton2018-02-162-0/+1477
| | | | | | | | | | | | | | | 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>
* qemu: fix memfd_create with glibc 2.27Ross Burton2018-02-062-1/+58
| | | | | | | | | | 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>
* python: fix RDEPENDS on several recipes, due to non-existent packagesAlejandro Hernandez2018-01-201-1/+1
| | | | | | | | | | | 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>
* qemu: Bump to version 2.11.0Alistair Francis2018-01-1818-3348/+63
| | | | | | | | | | | | | 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>
* qemu: CVE-2017-17381Catalin Enache2018-01-142-0/+73
| | | | | | | | | | | | | | | | | | 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>
* qemu-2.10.1.bb: support mingw buildJuro Bystricky2018-01-131-8/+29
| | | | | | | | | | | | | | 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>
* qemu: use upstream swtpm supportPatrick Ohly2017-12-1018-1758/+3260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: fix the makefile for ptestJackie Huang2017-12-101-0/+3
| | | | | | | | | | | | 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>
* qemu: Add patch to avoid qemuppc boot hangsRichard Purdie2017-11-212-0/+106
| | | | | | | | | | 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>
* qemu: upgrade to 2.10.1Leonardo Sandoval2017-11-086-734/+2
| | | | | | | | | | 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>
* qemu: Security fixesYi Zhao2017-09-225-0/+718
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* qemu: remove unused patchesYi Zhao2017-09-224-386/+0
| | | | | | | | | | | | | | | 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>
* devtools: qemu: Remove obsolete '--with-system-pixman' optionAlistair Francis2017-09-211-1/+0
| | | | | | | | | | | | | | | | | | 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>
* qemuwrapper-cross: Add HOMEPAGE info into recipe file.Huang Qiyu2017-09-211-0/+1
| | | | | | | | (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>
* qemu: upgrade to version 2.10.0Juro Bystricky2017-09-026-1008/+16
| | | | | | | | | | | 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>
* qemu: fix upstream version checkAlexander Kanavin2017-08-271-0/+2
| | | | | | | (From OE-Core rev: 0f3074318adf80a9ba681f2318329dc2ae2a4bb8) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: backport patches to fix boot failureChen Qi2017-08-193-0/+214
| | | | | | | | | | | 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>
* qemu: upgrade to 2.10-rc2Juro Bystricky2017-08-172-0/+774
| | | | | | | | | | 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>
* qemu: apic: fallthrough to PICHe Zhe2017-08-132-0/+47
| | | | | | | | | | | | 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>
* rm_work: Improve handling for addto_recipe_sysrootRichard Purdie2017-07-311-1/+0
| | | | | | | | | | | 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>
* qemu: Replace use of struct ucontext with ucontext_tKhem Raj2017-07-062-25/+286
| | | | | | | | (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>
* meta: Add/fix missing Upstream-Status to patchesRichard Purdie2017-06-271-0/+2
| | | | | | | | | 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>
* qemu: Upgrade to 2.8.1.1Aníbal Limón2017-05-252-51/+2
| | | | | | | | | | | | | | 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>
* qemu-helper-native: prepare native sysroot for runqemubrian avery2017-04-131-0/+4
| | | | | | | | | | | | | | | | | 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>
* qemu: use python2.7 instead of python2Martin Kelly2017-04-101-1/+1
| | | | | | | | | | | | 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>
* qemu: Remove uuid PACKAGECONFIGJussi Kukkonen2017-03-161-2/+1
| | | | | | | | | | --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>
* qemu: display: CVE-2016-9912Sona Sarmadi2017-03-082-0/+46
| | | | | | | | | | | | | | | | 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>
* qemu: display: CVE-2016-9908Sona Sarmadi2017-03-082-0/+45
| | | | | | | | | | | | | 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>
* qemu: Move recipe version specific patches and features to recipeNathan Rossi2017-03-082-30/+31
| | | | | | | | | | | | | | | | | | | | 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>
* qemu: Convert KVMOPTS to PACKAGECONFIGNathan Rossi2017-03-081-14/+12
| | | | | | | | | | | | | | | 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>
* qemu: Consolidate EXTRA_OECONFNathan Rossi2017-03-081-4/+19
| | | | | | | | | | | | | | | | | | | 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>
* qemu: Improve and add PACKAGECONFIG optionsNathan Rossi2017-03-081-6/+6
| | | | | | | | | | | | | | | | | | 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>
* qemu: fix build with glibc-2.25Martin Jansa2017-03-012-0/+89
| | | | | | | | (From OE-Core rev: c0ab96a7b7d2c41167e2ad79be76f6eec2b6ebb5) 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>
* recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt2017-03-011-2/+1
| | | | | | | (From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: support virtual TPMPatrick Ohly2017-03-015-0/+1761
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the use of swtpm (from meta-security) as a virtual TPM in qemu. These patches extend the existing support in qemu for TPM passthrough so that a swtpm daemon can be accessed via CUSE (character device in user space). To use this: - add the meta-security layer including the swtpm enhancements for qemu - bitbake swtpm-native - create a TPM instance and initialize it with: $ mkdir -p my-machine/myvtpm0 $ tmp-glibc/sysroots/x86_64-linux/usr/bin/swtpm_setup_oe.sh --tpm-state my-machine/myvtpm0 --createek Starting vTPM manufacturing as root:root @ Fri 20 Jan 2017 08:56:18 AM CET TPM is listening on TCP port 52167. Successfully created EK. Successfully authored TPM state. Ending vTPM manufacturing @ Fri 20 Jan 2017 08:56:19 AM CET - run swtpm *before each runqemu invocation* (it shuts down after use) and do it as root (required to set up the /dev/vtpm0 CUSE device): $ sudo sh -c 'PATH=`pwd`/tmp-glibc/sysroots/x86_64-linux/usr/bin/:`pwd`/tmp-glibc/sysroots/x86_64-linux/usr/sbin/:$PATH; export TPM_PATH=`pwd`/my-machine/myvtpm0; swtpm_cuse -n vtpm0' && sudo chmod a+rw /dev/vtpm0 - run qemu: $ runqemu 'qemuparams=-tpmdev cuse-tpm,id=tpm0,path=/dev/vtpm0 -device tpm-tis,tpmdev=tpm0' ... The guest kernel has to have TPM support enabled, which can be done with: KERNEL_FEATURES_append = " features/tpm/tpm.scc" (From OE-Core rev: 1264d26fa251ac11a9069f3e602dec6be9d8b9ba) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-native: Point python to python2 on build hostKhem Raj2017-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | On buildhosts where default python has switched to using python3 qemu-native fails configure like this | ERROR: Cannot use 'python', Python 2.6 or later is required. | Note that Python 3 or later is not yet supported. | Use --python=/path/to/python to specify a supported Python. | we still expect build host to have python2 pre-installed and is always available. (From OE-Core rev: 2cac9544752775262fa87517ed49fcac2fb3a574) (From OE-Core rev: 42c32a9c8e3ca28e553a3b95089e0d51390c1758) 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>
* depmodwrapper-cross/qemuwrapper-cross: Drop unneeded binutils dependencyRichard Purdie2017-02-231-0/+2
| | | | | | | | | | | | | | By default these pull in binutils-cross since they're a cross tool and pull in any native tool requirements. In reality they don't need such tools at build time or runtime since they're scripts. Therefore clear the dependency and save on some processing time. (From OE-Core rev: 63796765122e2eee2b78930797d571acb5c244d1) (From OE-Core rev: 50feffd0917b0ab408b34ded9c2f741a9c4e5b74) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>