summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu.inc
AgeCommit message (Collapse)Author
2019-05-27qemu: Backport the arm segfault fixAlistair Francis
When we updated to QEMU 4.0 we saw a segfault when running tests on the qemuarm machine. At the time we just reverted the offending patch from QEMU. Now that the fix has been merged into upstream let's remove that revert patch and replace it with the correct backport. Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-02qemu: Upgrade from 3.1.0 to 4.0.0Alistair Francis
This commit upgrade QEMU to the latest 4.0.0 release. - The COPYING.LIB file has changed SHA to: "Synchronize the LGPL 2.1 with the version from gnu.org" - SDL 1.2 has been removed, along with the --with-sdlabi command line arg - The backported patches have been removed - Al the other patches have been refreshed and the numbering has been updated Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-30qemu: split out vte into seperate PACKAGECONFIGAndreas Müller
* vte-native requires host compiler supporting c++17. Some distros we support ship comilers not supporting c++17 currently. * oe-self-test 'test_testimage_virgl_gtk' sets PACKAGECONFIG_append_pn-qemu-system-native = " gtk+". With vte enabled by 'gtk+'-config, build fails on hosts with ancient compilers [1]. * Alexander Kanavin did some tests: Without vte in PACKAGECONFIG there is still a working terminal available with reduced functionality [2]. * Users wanting 'full' terminal in system-qemu back should add PACKAGECONFIG_append_pn-qemu-system-native = " vte" in their local.conf. The idea of this patch was coming from Ross Burton - thanks! [1] http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281637.html [2] http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281727.html Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23qemu: Add PACKAGECONFIG for snappyRobert Joslyn
In addition to toggling libsnappy support, this allows a qemu-native build to explicitly disable snappy support. When building qemu-native, the configure script will detect libsnappy on the build machine and improperly enable snappy support. This can corrupt the sstate cache if the cache is populated with a qemu-native build with snappy improperly enabled, and the cached qemu-native gets used on another build machine that does not have libsnappy. Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24qemu: fix CVE-2019-3812Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-19qemu: backport patches to fix cvesKai Kang
CVE: CVE-2018-16872 CVE: CVE-2018-20124 CVE: CVE-2018-20125 CVE: CVE-2018-20126 CVE: CVE-2018-20191 CVE: CVE-2018-20216 Patches 0015-fix-CVE-2018-20124.patch and 0017-fix-CVE-2018-20126.patch are rebased on current source code. Others are not modified. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-28qemu: remove glx/virgl/gtk options from darwin/mingw targetsAlexander Kanavin
As they are not supported, and would lead to build failures. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-28qemu: split the native version into usermode and system partsAlexander Kanavin
The rationale is to streamline the overall build. The system parts are only needed to run target images, and so can be built towards the end of the build process. At the same time, the system parts may need gtk+-native and mesa-native which add significantly to the build time. On the other hand, the usermode parts have almost no dependencies and can be built quickly. They are needed at recipes build time to run target binaries, and so are required quite early in the typical build process. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25qemu: add environment variable wrappers to make qemu look good with gtk frontendAlexander Kanavin
GTK_THEME instructs gtk to use its built-in theme. Otherwise gtk attempts to use the theme from the host, which may be from a totally mismatching gtk version. On the other hand FONTCONFIG_PATH tells it to use the host fonts, as providing fonts in the native sysroot and instructing the components to use them is a lot more tricky. GDK_PIXBUF_MODULE_FILE is set, because otherwise qemu works but fills stdout with error messages, which eventually fill the pipe they go into. That pipe is read from only when qemu exits (to collect any error messages) by runqemu script. The pipe fill-up causes the qemu process to lock up. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25qemu: add a gettext-native dependency to gtk optionAlexander Kanavin
xgettext/msgmerge is used during do_install() when gtk is enabled: https://github.com/qemu/qemu/blob/master/Makefile#L743 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06qemu: remove --with-gtkabi=3.0 configure flagChris Patterson
Upstream dropped support for GTK2 (in v3.1.0) and this flag was dropped. Relevant upstream commit ID: 89d85cde75143325205e332dd97bf1bb8402d7c1 Signed-off-by: Chris Patterson <pattersonc@ainfosec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-02qemu: Add RISC-V supportAlistair Francis
Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-06-15qemu: don't inherit autotoolsRoss Burton
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). Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-06-04qemu: use sdl2 instead of sdl1Martin Jansa
* sdl1 since qemu-2.12.0 depends on x11 in DISTRO_FEATURES, switch to sdl2 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-04qemu: add PACKAGECONFIG for virglrenderer, usb-redir and spiceMartin Jansa
* 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) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-03qemu: do not hardcode python2.7 pathRuslan Ruslichenko
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. Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-21devtools: qemu: Remove obsolete '--with-system-pixman' optionAlistair Francis
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. Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-08qemu: use python2.7 instead of python2Martin Kelly
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. Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16qemu: Remove uuid PACKAGECONFIGJussi Kukkonen
--enable-uuid no longer exists: There's a uuid implementation in libqemuutil. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08qemu: Move recipe version specific patches and features to recipeNathan Rossi
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. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-03-08qemu: Convert KVMOPTS to PACKAGECONFIGNathan Rossi
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. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-03-08qemu: Consolidate EXTRA_OECONFNathan Rossi
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. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-03-08qemu: Improve and add PACKAGECONFIG optionsNathan Rossi
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. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2017-03-01recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-23qemu-native: Point python to python2 on build hostKhem Raj
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) 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-02-07qemu: Add missing 'inherit pkgconfig'Jussi Kukkonen
The monster configure file does call pkg-config somewhere in there. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-05qemu: Upgrade to 2.8.0Aníbal Limón
Added patches: - target-ppc-fix-user-mode.patch Rebased patches: - exclude-some-arm-EABI-obsolete-syscalls.patc Removed patches (already in upstream): - 0003-fix-CVE-2016-7908.patch - 0004-fix-CVE-2016-7909.patch - 0001-target-mips-add-24KEc-CPU-definition.patch Changelog, http://wiki.qemu.org/ChangeLog/2.8 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-01-23qemu: Upgrade to 2.7.1Aníbal Limón
Minor upgrade contains fixes from 2.7.0. Removed patches (already in upstream): - 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch - 0001-virtio-zero-vq-inuse-in-virtio_reset.patch - 0002-fix-CVE-2016-7423.patch Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-09qemu: fix: cp command cannot find tests/MakeflieJianxun Zhang
bitbake qemu This error shows up: ERROR: qemu-2.7.0-r1 do_install_ptest_base: Function failed: do_install_ptest_base ... cp: cannot stat '...tmp/work/core2-64-poky-linux/qemu/2.7.0-r1 /qemu-2.7.0/tests/Makefile: No such file or directory ... Commit 46e7b70699d8bf4db08c8bb5111974318dd5416d in qemu project renamed tests/Makefile to tests/Makefile.include, we apply the same change in recipe accordingly to fix this issue. Fixes [YOCTO #10245] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01qemu: add patch to add mips 24KEc CPU definitionAndré Draszik
This patch has been accepted upstream: http://lists.nongnu.org/archive/html/qemu-devel/2016-07/msg05778.html Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01qemu: add PACKAGECONFIG stanza for bzip2Ross Burton
This is just for reading bzip-compressed DMG files, so disable it by default. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23qemu: Use Gtk+3, add configure patch to find vteJussi Kukkonen
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-15qemu-native: set ld.bfd, fix cflags, and set some environment varsStephen Arnold
The main thing is build failures with gold linker, but qemu is also a little too aggressive at finding random tools on the build host, so we also set the build env for qemu-native and make sure it doesn't reset its own (hard-coded) cflags when we don't want it to. Signed-off-by: Stephen Arnold <sarnold@vctlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-01qemu: remove runtime python dependencyAlexander Kanavin
Nothing seems to require it. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2016-05-06qemu: remove explicit but redundant native build dependenciesRoss Burton
qemu-native was optionally depending on libxext-native if the DISTRO_FEATURES included x11. This dependency was required back when we didn't build libsdl-native and causes an undesirable relationship between DISTRO_FEATURES and qemu-native. As the dependency isn't required anymore, remove it. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28qemu: add PACKAGECONFIG for Nettle crypto supportRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-27qemu: upgrade to 2.5.0Cristian Iorga
- cpus.c-qemu_mutex_lock_iothread-fix-race-condition-a.patch removed, included upstream; - smc91c111_fix*.patch patches removed, included upstream; - trace-remove-malloc-tracing.patch patch removed, included upstream; - some configure options disappeared or changed name, updated. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-07Revert "qemu-native: Enable temporary debug info as default."Aníbal Limón
We enabled qemu-native debug builds for debug [YOCTO #8143] now is fixed and we don't need it for release. This reverts commit 1fa9a0cc6e4c80a5a2bf40331390ae9da71686c2. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-01qemu: Drop BROKEN usageRichard Purdie
BROKEN support was removed from bitbake back in 2013. These lines just increase parsing time, remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-04qemu: Fix qemu_cpu_kick_thread on initAníbal Limón
When QEMU starts the RCU thread executes qemu_mutex_lock_thread causing error "qemu:qemu_cpu_kick_thread: No such process" and exits. For detail explanation see upstream patch. [YOCTO #8143] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-02qemu: enable alsa only if in DISTRO_FEATURESJosep Puigdemont
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-29qemu-native: Enable temporary debug info as default.Aníbal Limón
We recently enable backtrace print rev[1] for address qemu_cpu_kick_thread() issue but without debug information isn't useful. [YOCTO #8143] [1] 73a876e4ff04ebbbcd3bde62efe02146ab601e25 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-16qemu-native: Add debugging when qemu fails with qemu_cpu_kick_threadAníbal Limón
We are expecting some random failures in QEMU runs one of this is related to qemu_cpu_kick_thread that ends on exit(1) on qemu. To improve debug information add patch that prints the backtrace and the status of qemu cpu. [YOCTO #8143] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-09qemu: add ptest sub-packageKai Kang
Add sub-package ptest which runs all unit tests cases for qemu. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-31qemu: add PACKAGECONFIG for gnutlsRobert Yang
Fixed: qemu-2.3.99+2.4.0-rc2: qemu rdepends on nettle, but it isn't a build dependency? [build-deps] qemu-2.3.99+2.4.0-rc2: qemu rdepends on gnutls, but it isn't a build dependency? [build-deps] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-07-16qemu: upgrade to 2.4.0-rc0Cristian Iorga
- Get rid of direct use of gnutls APIs in quorum blockdrv in favour of using the crypto APIs. - Convert VNC websockets to use crypto APIs. - quorum and vnc-ws packageconfig options no longer exist, removed. - All previous CVE are now included. - larger_default_ram_size.patch patch removed, no longer necessary. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-12qemu: remove invalid sed commandRobert Yang
The sed command was used for editting to code added by linker-flags.patch, but the patch had been gone in 2013, and verified that there is no -lX11 in Makefile.target, so remove the sed command. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-11qemu: Add support for UUIDJuro Bystricky
Native qemu is used to to create VMDK and VDI images. VDI images need support for UUID, otherwise the resulting image will not boot. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-05-07qemu: upgrade to 2.3.0Cristian Iorga
Qemu-Arm-versatilepb-Add-memory-size-checking.patch brought up to date; 37ed3bf1ee07bb1a26adca0df8718f601f231c0b.patch removed, integrated upstream; glx enable config option changed to opengl enable, update accordingly. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14qemu: Update PACKAGECONFIG[xen] and add xen to defaultsNathan Rossi
* Add build and runtime dependencies for PACKAGECONFIG[xen] * Add xen as a default PACKAGECONFIG option when it is part of DISTRO_FEATURES Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com>