- Update to v5.1.0: See http://wiki.qemu.org/ChangeLog/5.1
Take note that ongoing feature deprecation is tracked at both
http://wiki.qemu-project.org/Features/LegacyRemoval and in
the deprecated.html file installed with the qemu package
Some noteworthy changes:
* s390: Protected virtualization (secure execute) is fully merged
upstream
* s390: vfio-ccw devices no longer require setting the allow
prefetch bit in the ORB, but is still dependent on host kernel
support
* s390: vfio-ccw now has basic support for relaying path state
changes to the guest
* PowerPC: pseries: NVDIMMs require label-size property
* PowerPC: pseries: POWER10 support
* PowerPC: added interface to inject POWER style NMIs
* ARM: new board: sonorapass-bmc
* ARM: new emulated features: ARMv8.2-TTSUXN, ARMv8.5-MemTag
* ARM: Raspberry Pi boards now support a USB controller
* ARM: virt board now supports hot-remove memory
* RISC-V lots of improvements
* qemu-img resize now requires -shrink to shrinking raw images
* The mem parameter of the -numa option is no longer recognized
starting with 5.1 machine types - instead use the memdev parameter
* The ACPI WAET table is now exposed to guests
* The max blocksize for virtual storage device is now 2 MiB
* NVMe improvements
* Crypto subsystem improvements
* Block backends and tools: Numerous improvements and fixes
* Firmware updates: SeaBIOS (essentially v1.14.0), OpenBIOS, SLOF
(20200717), OpenSBI (v0.7)
* Patches dropped (upstream unless otherwise noted):
ati-vga-check-mm_index-before-recursive-.patch
audio-fix-wavcapture-segfault.patch
es1370-check-total-frame-count-against-c.patch
exec-set-map-length-to-zero-when-returni.patch
gcc10-maybe-uninitialized.patch
hw-vfio-pci-quirks-Fix-broken-legacy-IGD.patch
megasas-use-unsigned-type-for-reply_queu.patch
nbd-server-Avoid-long-error-message-asse.patch
ppc-spapr_caps-Don-t-disable-cap_cfpc-on.patch
s390x-Add-SIDA-memory-ops.patch
s390x-Add-unpack-facility-feature-to-GA1.patch
s390x-Move-diagnose-308-subcodes-and-rcs.patch
s390x-protvirt-Add-migration-blocker.patch
s390x-protvirt-Disable-address-checks-fo.patch
s390x-protvirt-Handle-SIGP-store-status-.patch
s390x-protvirt-Inhibit-balloon-when-swit.patch
s390x-protvirt-KVM-intercept-changes.patch
s390x-protvirt-Move-diag-308-data-over-S.patch
s390x-protvirt-Move-IO-control-structure.patch
s390x-protvirt-Move-STSI-data-over-SIDAD.patch
s390x-protvirt-SCLP-interpretation.patch
s390x-protvirt-Set-guest-IPL-PSW.patch
s390x-protvirt-Support-unpack-facility.patch
s390x-s390-virtio-ccw-Fix-build-on-syste.patch
Sync-pv.patch
tests-Disable-some-block-tests-for-now.patch (no longer needed)
vga-fix-cirrus-bios.patch
virtiofsd-add-rlimit-nofile-NUM-option.patch
virtiofsd-stay-below-fs.file-max-sysctl-.patch
* Patches renamed:
build-Do-not-apply-WORKAROUND_CFLAGS-for.patch
-> Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch
build-Fix-s-directive-argument-is-null-e.patch
-> Fix-s-directive-argument-is-null-error.patch
* Patches added:
hw-hyperv-vmbus-Fix-32bit-compilation.patch
- New subpackages, due to modularization: qemu-chardev-baum,
qemu-hw-display-qxl, qemu-hw-usb-redirect, qemu-hw-usb-smartcard
- Configure to use "system" libslirp and libdaxctl (libnvdimm)
when available
- Don't disable cap_cfpc on POWER8 by default (bsc#1174374)
ppc-spapr_caps-Don-t-disable-cap_cfpc-on.patch
OBS-URL: https://build.opensuse.org/request/show/825863
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=178
The qemu package includes a special maintenance workflow in order to support git
based patching. Please use it in order to have changes you make be acceptable to
the package maintainers.
Currently a local clone of the upstream repo(s) is required for the packaging
workflow. It is anticipated that the need for any extra setup will be reduced or
even eliminated entirely in the future, but for now, you will need do so some
setup. See config.sh for details.
The qemu.spec file is generated from a qemu.spec.in template, so to make changes
to the spec file beyond the patch name generation, patch reference and automated
versioning done by the scripts, you need to edit the template. Do not directly
edit the spec file. The spec file's version and patch references are added when
the update_git.sh script is passed certain commands, as described below.
If you are not modifying any patches or their order, but just need to update the
spec file from a changed template, run 'bash ./update_git.sh refresh'.
If the set of patches is being modified, including their order, you will want to
first run 'bash ./update_git.sh pkg2git', which makes the current package patch
queue available in a local git branch named frombundle (see config.sh for the
locations). This set of patches comes from a "bundle of git bundles", the
bundles.tar.xz file, which is included as a package source file. You will then
create an altered patch queue in the branch which corresponds to this release
(eg: opensuse-5.0), using the frombundle branch as the starting point for your
changes (eg perhaps start by doing git reset --hard frombundle, then cherry-pick
upstream patches from there). Once you have the patch queue ready to go run
'bash ./update_git.sh git2pkg' which updates the bundles.tar.xz file, as well as
the spec and patch files.
The default action for update_git.sh is git2pkg, which helps simplify repeated
package updates as you modify the patch queue from the local git repo.
The maintainer and automation use another workflow mode dealing with packaging
the latest upstream qemu. See 'LATEST' references in the scripts for details.
* * * * * * * * *
Additional Notes:
Patches which are from an upstream git repo should have the commit id recorded
just below the Subject line (after a blank line) as follows:
Git-commit: <40-char-sha-id>
If a patch is anticipated to be shortly included in upstream repo, mark that
fact by doing the above with 40 0's, which will flag it as needing to be updated
in the near future.
Bug or feature tracking identifiers should also be added to the patch similarly,
using the abbreviations identified here:
http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines#Current_set_of_abbreviations
using the "Reference:" tag, with multiple entries comma separated.
The ability to provide a conditional inclusion of a patch (eg based on
architecture, is provided by using the "Include-If:" tag similarly, as follows:
Include-If: %ifarch aarch64
This will cause the patch application in the spec file to be done as follows:
%ifarch aarch64
%patch0013 -p1
%endif
A trick worth noting is, if a given git tracked patch is to be applied in a way
that can't be done in the normal patching section of the spec file, you can
still include the patch, and use it by name with the patch program elsewhere in
the spec file by doing something such as:
Include-If: %if 0%{?patch-possibly-applied-elsewhere}
(this variable will remain undefined in the spec file) And then elsewhere in the
spec file, the actual patch (eg specially-handled-change.patch) is referenced as
eg:
patch -p1 < %_sourcedir/specially-handled-change.patch