
* Update to QEMU v9.0.0 --------- Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Fabiano Rosas <farosas@suse.de> Signed-off-by: Peter Xu <peterx@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> Signed-off-by: Ido Plat <ido.plat@ibm.com> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Signed-off-by: David Hildenbrand <david@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com> Signed-off-by: Gregory Price <gregory.price@memverge.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Lorenz Brun <lorenz@brun.one> Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com> Signed-off-by: Arnaud Minier <arnaud.minier@telecom-paris.fr> Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Benjamin Gray <bgray@linux.ibm.com> Signed-off-by: Avihai Horon <avihaih@nvidia.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Joonas Kankaala <joonas.a.kankaala@gmail.com> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Glenn Miles <milesg@linux.ibm.com> Signed-off-by: Oleg Sviridov <oleg.sviridov@red-soft.ru> Signed-off-by: Artem Chernyshev <artem.chernyshev@red-soft.ru> Signed-off-by: Yajun Wu <yajunw@nvidia.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com> Signed-off-by: Lei Wang <lei4.wang@intel.com> Signed-off-by: Wei Wang <wei.w.wang@intel.com> Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-off-by: Wafer <wafer@jaguarmicro.com> Signed-off-by: Yuxue Liu <yuxue.liu@jaguarmicro.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com> Signed-off-by: Zack Buhman <zack@buhman.org> Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Yuquan Wang wangyuquan1236@phytium.com.cn Signed-off-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com> Signed-off-by: Cindy Lu <lulu@redhat.com> Co-authored-by: Peter Maydell <peter.maydell@linaro.org> Co-authored-by: Fabiano Rosas <farosas@suse.de> Co-authored-by: Peter Xu <peterx@redhat.com> Co-authored-by: Thomas Huth <thuth@redhat.com> Co-authored-by: Cédric Le Goater <clg@redhat.com> Co-authored-by: Zheyu Ma <zheyuma97@gmail.com> Co-authored-by: Ido Plat <ido.plat@ibm.com> Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com> Co-authored-by: Markus Armbruster <armbru@redhat.com> Co-authored-by: Marc-André Lureau <marcandre.lureau@redhat.com> Co-authored-by: Paolo Bonzini <pbonzini@redhat.com> Co-authored-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Co-authored-by: David Hildenbrand <david@redhat.com> Co-authored-by: Kevin Wolf <kwolf@redhat.com> Co-authored-by: Stefan Reiter <s.reiter@proxmox.com> Co-authored-by: Fiona Ebner <f.ebner@proxmox.com> Co-authored-by: Gregory Price <gregory.price@memverge.com> Co-authored-by: Lorenz Brun <lorenz@brun.one> Co-authored-by: Yao Xingtao <yaoxt.fnst@fujitsu.com> Co-authored-by: Philippe Mathieu-Daudé <philmd@linaro.org> Co-authored-by: Arnaud Minier <arnaud.minier@telecom-paris.fr> Co-authored-by: BALATON Zoltan <balaton@eik.bme.hu> Co-authored-by: Igor Mammedov <imammedo@redhat.com> Co-authored-by: Akihiko Odaki <akihiko.odaki@daynix.com> Co-authored-by: Richard Henderson <richard.henderson@linaro.org> Co-authored-by: Sven Schnelle <svens@stackframe.org> Co-authored-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Co-authored-by: Helge Deller <deller@kernel.org> Co-authored-by: Harsh Prateek Bora <harshpb@linux.ibm.com> Co-authored-by: Benjamin Gray <bgray@linux.ibm.com> Co-authored-by: Nicholas Piggin <npiggin@gmail.com> Co-authored-by: Avihai Horon <avihaih@nvidia.com> Co-authored-by: Michael Tokarev <mjt@tls.msk.ru> Co-authored-by: Joonas Kankaala <joonas.a.kankaala@gmail.com> Co-authored-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Co-authored-by: Stefan Weil <sw@weilnetz.de> Co-authored-by: Dayu Liu <liu.dayu@zte.com.cn> Co-authored-by: Zhao Liu <zhao1.liu@intel.com> Co-authored-by: Glenn Miles <milesg@linux.vnet.ibm.com> Co-authored-by: Artem Chernyshev <artem.chernyshev@red-soft.ru> Co-authored-by: Yajun Wu <yajunw@nvidia.com> Co-authored-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Co-authored-by: Pierre-Clément Tosi <ptosi@google.com> Co-authored-by: Wei Wang <wei.w.wang@intel.com> Co-authored-by: Martin Hundebøll <martin@geanix.com> Co-authored-by: Michael S. Tsirkin <mst@redhat.com> Co-authored-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Co-authored-by: Wafer <wafer@jaguarmicro.com> Co-authored-by: lyx634449800 <yuxue.liu@jaguarmicro.com> Co-authored-by: Gerd Hoffmann <kraxel@redhat.com> Co-authored-by: Nguyen Dinh Phi <phind.uet@gmail.com> Co-authored-by: Zack Buhman <zack@buhman.org> Co-authored-by: Keith Packard <keithp@keithp.com> Co-authored-by: Yuquan Wang <wangyuquan1236@phytium.com.cn> Co-authored-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com> Co-authored-by: Cindy Lu <lulu@redhat.com>
148 lines
6.4 KiB
ReStructuredText
148 lines
6.4 KiB
ReStructuredText
.. _Supported-build-platforms:
|
|
|
|
Supported build platforms
|
|
=========================
|
|
|
|
QEMU aims to support building and executing on multiple host OS
|
|
platforms. This appendix outlines which platforms are the major build
|
|
targets. These platforms are used as the basis for deciding upon the
|
|
minimum required versions of 3rd party software QEMU depends on. The
|
|
supported platforms are the targets for automated testing performed by
|
|
the project when patches are submitted for review, and tested before and
|
|
after merge.
|
|
|
|
If a platform is not listed here, it does not imply that QEMU won't
|
|
work. If an unlisted platform has comparable software versions to a
|
|
listed platform, there is every expectation that it will work. Bug
|
|
reports are welcome for problems encountered on unlisted platforms
|
|
unless they are clearly older vintage than what is described here.
|
|
|
|
Note that when considering software versions shipped in distros as
|
|
support targets, QEMU considers only the version number, and assumes the
|
|
features in that distro match the upstream release with the same
|
|
version. In other words, if a distro backports extra features to the
|
|
software in their distro, QEMU upstream code will not add explicit
|
|
support for those backports, unless the feature is auto-detectable in a
|
|
manner that works for the upstream releases too.
|
|
|
|
The `Repology`_ site is a useful resource to identify
|
|
currently shipped versions of software in various operating systems,
|
|
though it does not cover all distros listed below.
|
|
|
|
Supported host architectures
|
|
----------------------------
|
|
|
|
Those hosts are officially supported, with various accelerators:
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - CPU Architecture
|
|
- Accelerators
|
|
* - Arm
|
|
- kvm (64 bit only), tcg, xen
|
|
* - MIPS (little endian only)
|
|
- kvm, tcg
|
|
* - PPC
|
|
- kvm, tcg
|
|
* - RISC-V
|
|
- kvm, tcg
|
|
* - s390x
|
|
- kvm, tcg
|
|
* - SPARC
|
|
- tcg
|
|
* - x86
|
|
- hvf (64 bit only), kvm, nvmm, tcg, whpx (64 bit only), xen
|
|
|
|
Other host architectures are not supported. It is possible to build QEMU system
|
|
emulation on an unsupported host architecture using the configure
|
|
``--enable-tcg-interpreter`` option to enable the TCI support, but note that
|
|
this is very slow and is not recommended for normal use. QEMU user emulation
|
|
requires host-specific support for signal handling, therefore TCI won't help
|
|
on unsupported host architectures.
|
|
|
|
Non-supported architectures may be removed in the future following the
|
|
:ref:`deprecation process<Deprecated features>`.
|
|
|
|
Linux OS, macOS, FreeBSD, NetBSD, OpenBSD
|
|
-----------------------------------------
|
|
|
|
The project aims to support the most recent major version at all times for
|
|
up to five years after its initial release. Support
|
|
for the previous major version will be dropped 2 years after the new major
|
|
version is released or when the vendor itself drops support, whichever comes
|
|
first. In this context, third-party efforts to extend the lifetime of a distro
|
|
are not considered, even when they are endorsed by the vendor (eg. Debian LTS);
|
|
the same is true of repositories that contain packages backported from later
|
|
releases (e.g. Debian backports). Within each major release, only the most
|
|
recent minor release is considered.
|
|
|
|
For the purposes of identifying supported software versions available on Linux,
|
|
the project will look at CentOS, Debian, Fedora, openSUSE, RHEL, SLES and
|
|
Ubuntu LTS. Other distros will be assumed to ship similar software versions.
|
|
|
|
For FreeBSD and OpenBSD, decisions will be made based on the contents of the
|
|
respective ports repository, while NetBSD will use the pkgsrc repository.
|
|
|
|
For macOS, `Homebrew`_ will be used, although `MacPorts`_ is expected to carry
|
|
similar versions.
|
|
|
|
Some build dependencies may follow less conservative rules:
|
|
|
|
Python runtime
|
|
Distributions with long-term support often provide multiple versions
|
|
of the Python runtime. While QEMU will initially aim to support the
|
|
distribution's default runtime, it may later increase its minimum version
|
|
to any newer python that is available as an option from the vendor.
|
|
In this case, it will be necessary to use the ``--python`` command line
|
|
option of the ``configure`` script to point QEMU to a supported
|
|
version of the Python runtime.
|
|
|
|
As of QEMU |version|, the minimum supported version of Python is 3.7.
|
|
|
|
Python build dependencies
|
|
Some of QEMU's build dependencies are written in Python. Usually these
|
|
are only packaged by distributions for the default Python runtime.
|
|
If QEMU bumps its minimum Python version and a non-default runtime is
|
|
required, it may be necessary to fetch python modules from the Python
|
|
Package Index (PyPI) via ``pip``, in order to build QEMU.
|
|
|
|
Optional build dependencies
|
|
Build components whose absence does not affect the ability to build
|
|
QEMU may not be available in distros, or may be too old for QEMU's
|
|
requirements. Many of these, such as the Avocado testing framework
|
|
or various linters, are written in Python and therefore can also
|
|
be installed using ``pip``. Cross compilers are another example
|
|
of optional build-time dependency; in this case it is possible to
|
|
download them from repositories such as EPEL, to use container-based
|
|
cross compilation using ``docker`` or ``podman``, or to use pre-built
|
|
binaries distributed with QEMU.
|
|
|
|
|
|
Windows
|
|
-------
|
|
|
|
The project aims to support the two most recent versions of Windows that are
|
|
still supported by the vendor. The minimum Windows API that is currently
|
|
targeted is "Windows 8", so theoretically the QEMU binaries can still be run
|
|
on older versions of Windows, too. However, such old versions of Windows are
|
|
not tested anymore, so it is recommended to use one of the latest versions of
|
|
Windows instead.
|
|
|
|
The project supports building QEMU with current versions of the MinGW
|
|
toolchain, either hosted on Linux (Debian/Fedora) or via `MSYS2`_ on Windows.
|
|
A more recent Windows version is always preferred as it is less likely to have
|
|
problems with building via MSYS2. The building process of QEMU involves some
|
|
Python scripts that call os.symlink() which needs special attention for the
|
|
build process to successfully complete. On newer versions of Windows 10,
|
|
unprivileged accounts can create symlinks if Developer Mode is enabled.
|
|
When Developer Mode is not available/enabled, the SeCreateSymbolicLinkPrivilege
|
|
privilege is required, or the process must be run as an administrator.
|
|
|
|
Only 64-bit Windows is supported.
|
|
|
|
.. _Homebrew: https://brew.sh/
|
|
.. _MacPorts: https://www.macports.org/
|
|
.. _MSYS2: https://www.msys2.org/
|
|
.. _Repology: https://repology.org/
|