QEMU

Edit Package qemu
https://www.qemu.org/documentation/

QEMU is a generic and open source machine emulator and virtualizer.

QEMU can be used in several different ways. The most common is for System Emulation, where it provides a virtual model of an entire machine (CPU, memory and emulated devices) to run a guest OS. In this mode the CPU may be fully emulated, or it may work with a hypervisor such as KVM or Xen to allow the guest to run directly on the host CPU.

Note that this package is produced using a Git based workflow. Please refer to README.PACKAGING before making modifications.

Refresh
Refresh
Source Files
Filename Size Changed
50-seabios-256k.json 0000000664 664 Bytes
60-seabios-128k.json 0000000909 909 Bytes
80-kvm.rules 0000000040 40 Bytes
80-qemu-ga.rules 0000000159 159 Bytes
AIO-Reduce-number-of-threads-for-32bit-h.patch 0000001329 1.3 KB
Make-char-muxer-more-robust-wrt-small-FI.patch 0000004577 4.47 KB
Make-installed-scripts-explicitly-python.patch 0000001120 1.09 KB
Make-keycode-gen-output-reproducible-use.patch 0000001297 1.27 KB
Makefile-Don-t-check-pc-bios-as-pre-requ.patch 0000000939 939 Bytes
PPC-KVM-Disable-mmu-notifier-check.patch 0000001074 1.05 KB
README.PACKAGING 0000003651 3.57 KB
Raise-soft-address-space-limit-to-hard-l.patch 0000001789 1.75 KB
Revert-qht-constify-qht_statistics_init.patch 0000002060 2.01 KB
Revert-roms-efirom-tests-uefi-test-tools.patch 0000001440 1.41 KB
XXX-dont-dump-core-on-sigabort.patch 0000001176 1.15 KB
_constraints 0000001888 1.84 KB
_multibuild 0000000094 94 Bytes
acpi_piix4-Fix-migration-from-SLE11-SP2.patch 0000001026 1 KB
bridge.conf 0000000441 441 Bytes
bundles.tar.xz 0000039184 38.3 KB
config.sh 0000004343 4.24 KB
configure-only-populate-roms-if-softmmu.patch 0000000889 889 Bytes
configure-remove-pkgversion-from-CONFIG_.patch 0000001498 1.46 KB
docs-add-SUSE-support-statements-to-html.patch 0000001097 1.07 KB
enable-cross-compilation-on-ARM.patch 0000000694 694 Bytes
help-compiler-out-by-initializing-array.patch 0000001169 1.14 KB
hw-intc-exynos4210_gic-provide-more-room.patch 0000003580 3.5 KB
hw-smbios-handle-both-file-formats-regar.patch 0000004194 4.1 KB
i8254-Fix-migration-from-SLE11-SP2.patch 0000001466 1.43 KB
increase-x86_64-physical-bits-to-42.patch 0000001111 1.08 KB
ipxe-Makefile-fix-issues-of-build-reprod.patch 0000002043 2 KB
ksm.service 0000000314 314 Bytes
kvm.conf 0000000036 36 Bytes
linux-user-Fake-proc-cpuinfo.patch 0000002094 2.04 KB
linux-user-add-binfmt-wrapper-for-argv-0.patch 0000003182 3.11 KB
linux-user-binfmt-support-host-binaries.patch 0000001649 1.61 KB
linux-user-lseek-explicitly-cast-non-set.patch 0000001318 1.29 KB
linux-user-use-target_ulong.patch 0000003637 3.55 KB
meson-install-ivshmem-client-and-ivshmem.patch 0000001307 1.28 KB
pc-bios-s390-ccw-net-avoid-warning-about.patch 0000001061 1.04 KB
pkg-split.txt 0000000423 423 Bytes
qboot-add-cross.ini-file-to-handle-aarch.patch 0000000607 607 Bytes
qemu-5.2.0.tar.xz 0106902800 102 MB
qemu-5.2.0.tar.xz.sig 0000000310 310 Bytes
qemu-binfmt-conf-Modify-default-path.patch 0000000853 853 Bytes
qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch 0000001176 1.15 KB
qemu-bridge-helper-reduce-security-profi.patch 0000002660 2.6 KB
qemu-cvs-gettimeofday.patch 0000000844 844 Bytes
qemu-cvs-ioctl_debug.patch 0000001841 1.8 KB
qemu-cvs-ioctl_nodirection.patch 0000001729 1.69 KB
qemu-ga@.service 0000000257 257 Bytes
qemu-ifup 0000000678 678 Bytes
qemu-kvm.1.gz 0000000047 47 Bytes
qemu-rpmlintrc 0000000203 203 Bytes
qemu-supportconfig 0000002004 1.96 KB
qemu.changes 0000303335 296 KB
qemu.keyring 0000031860 31.1 KB
qemu.spec 0000070309 68.7 KB
qemu.spec.in 0000065808 64.3 KB
qht-Revert-some-constification-in-qht.c.patch 0000003149 3.08 KB
roms-Makefile-add-cross-file-to-qboot-me.patch 0000000929 929 Bytes
roms-Makefile-pass-a-packaging-timestamp.patch 0000002494 2.44 KB
roms-change-cross-compiler-naming-to-be-.patch 0000000912 912 Bytes
roms-sgabios-Fix-csum8-to-be-built-by-ho.patch 0000000641 641 Bytes
s390x-Fix-stringop-truncation-issue-repo.patch 0000001080 1.05 KB
seabios-switch-to-python3-as-needed.patch 0000006615 6.46 KB
seabios-use-python2-explicitly-as-needed.patch 0000001882 1.84 KB
sgabios-Makefile-fix-issues-of-build-rep.patch 0000001141 1.11 KB
stub-out-the-SAN-req-s-in-int13.patch 0000003124 3.05 KB
supported.arm.txt 0000032168 31.4 KB
supported.ppc.txt 0000000112 112 Bytes
supported.s390.txt 0000027687 27 KB
supported.x86.txt 0000031877 31.1 KB
test-add-mapping-from-arch-of-i686-to-qe.patch 0000000926 926 Bytes
tests-Fix-block-tests-to-be-compatible-w.patch 0000004088 3.99 KB
tests-change-error-message-in-test-162.patch 0000001104 1.08 KB
tests-qemu-iotests-Triple-timeout-of-i-o.patch 0000001069 1.04 KB
update_git.sh 0000036329 35.5 KB
usb-Help-compiler-out-to-avoid-a-warning.patch 0000001845 1.8 KB
xen-add-block-resize-support-for-xen-dis.patch 0000001124 1.1 KB
xen-ignore-live-parameter-from-xen-save-.patch 0000001750 1.71 KB
xen_disk-Add-suse-specific-flush-disable.patch 0000001976 1.93 KB
Revision 597 (latest revision is 864)
Bruce Rogers's avatar Bruce Rogers (bfrogers) accepted request 854151 from Bruce Rogers's avatar Bruce Rogers (bfrogers) (revision 597)
- Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2
  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:
* Dropped system emulators: qemu-system-lm32, qemu-system-unicore32
* Dropped linux user emulator: qemu-ppc64abi32
* Added linux user emulator: qemu-extensaeb
* Unicore32 and lm32 guest support dropped
* New sub-packages (most due to ongoing modularization of QEMU):
  qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga, 
  qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci,
  qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools
* x86: A new KVM feature which improves the handling of asynchronous page
  faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8)
* s390: More instructions emulated under TCG
* PowerPC: nvdimm= machine option now functions correctly; misc improvements
* ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500
  (Cortex-M7 based),  raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero)
  and raspi1ap (the Pi A+)
* RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used
  when no -bios argument is supplied; Support for NUMA sockets on Virt
  and Spike Machines; Support for migrating machines; misc improvements
* Misc NVMe improvements
* The 'vhost-user-blk' export type has been added, allowing
  qemu-storage-daemon to act as a vhost-user-blk device backend
* The SMBIOS OEM strings can now come from a file
* 9pfs - misc performance related improvements
* virtiofs - misc improvements
* migration: The default migration bandwidth has been increased to 1Gbps
  (users are still encouraged to tune it to their own hardware); The new
  'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine
  the likelihood of precopy migration success; TLS+multifd now supported
  for higher bandwidth encrypted migration; misc minor features added
* Misc minor block features added
* Misc doc improvements
* qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based,
  and the qboot based on is now qboot.rom
* elf2dmp is no longer part of qemu-tools (it was never intended to be
  a packaged binary)
* Some subpackages which were 'Requires' are now 'Recommends', allowing for
  a smaller qemu packaging footprint if needed
* Patches dropped (included in release tarball, unless otherwise noted):
  docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently)
  hw-hyperv-vmbus-Fix-32bit-compilation.patch
  linux-user-properly-test-for-infinite-ti.patch
  Switch-order-of-libraries-for-mpath-supp.patch (fixed differently)
  Conditionalize-ui-bitmap-installation-be.patch (fixed differently)
  hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9)
  hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9)
  roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch)
  libvhost-user-handle-endianness-as-manda.patch
  virtio-add-vhost-user-fs-ccw-device.patch
  Fix-s-directive-argument-is-null-error.patch
  build-Workaround-compilation-error-with-.patch
  build-Be-explicit-about-fcommon-compiler.patch
  intel-Avoid-spurious-compiler-warning-on.patch
  golan-Add-explicit-type-casts-for-nodnic.patch
  Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch
  ensure-headers-included-are-compatible-w.patch
  Enable-cross-compile-prefix-for-C-compil.patch (fixed differently)
  hw-net-net_tx_pkt-fix-assertion-failure-.patch
  hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch
  s390x-protvirt-allow-to-IPL-secure-guest.patch
  usb-fix-setup_len-init-CVE-2020-14364.patch
* Patches added:
  meson-install-ivshmem-client-and-ivshmem.patch
  Revert-roms-efirom-tests-uefi-test-tools.patch
  Makefile-Don-t-check-pc-bios-as-pre-requ.patch
  roms-Makefile-add-cross-file-to-qboot-me.patch
  qboot-add-cross.ini-file-to-handle-aarch.patch
  usb-Help-compiler-out-to-avoid-a-warning.patch
- In spec file, where reasonable, switch BuildRequires: XXX-devel
  to be pkgconfig(XXX') instead
- No longer disable link time optimization for qemu for x86. It looks like
  either the build service, qemu code changes and/or the switch to meson
  have resolved issues previously seen there. We still see problems for
  other architectures however.
- For the record, the following issues reported for SUSE SLE15-SP2
  are either fixed in this current package, or are otherwise no longer
  an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370
  bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863
  CVE-2020-16092 CVE-2020-24352
  and the following feature requests are satisfied by this package:
  jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840
- To be more accurate, and to align with other qemu packaging
  practices, rename the qemu-s390 package to qemu-s390x. The old
  name (in the rpm namespace) is provided with a "Provides"
  directive, and an "Obsoletes" done against that name for prior
  qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060)
- Take this opportunity to remove some ancient Split-Provides
  mechanisms which can't conceivably be needed any more:
  qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so
  qemu-guest-agent provided: qemu:%_bindir/qemu-ga
  qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper
- Disable linux-user 'ls' test on 32 bit arm. It's failing with
  "Allocating guest commpage: Cannot allocate memory" error, which
  we should hunt down, but for now we don't want it to prevent the
  package from being built
Comments 5

Eric Schirra's avatar

qemu-kvm ist missing now for all arch!

And this wrong:

Pacakges we OBSOLETE (and CONFLICT)

Obsoletes: kvm <= %{version} Obsoletes: qemu-kvm <= %{version} Obsoletes: qemu-sgabios <= 8

Should be <, not <=


Dario Faggioli's avatar

I'm sorry, maybe I still missing something about Obsoletes & Friends enough... Can you help me understand why qemu-kvm would be missing for all arches? In fact, I'm not only Obsoleting it, I'm also Providing it, isn't that fine?

FWIW, I've done a few tests with this repository enabled, and it seemed to work:

$ zypper lr Repository priorities in effect: > (See 'zypper lr -P' for details) 90 (raised priority) : 1 repository 99 (default priority) : 4 repositories

| Alias | Name | Enabled | GPG Check | Refresh --+----------------+----------------------------------------+---------+-----------+-------- 1 | Virtualization | Virtualization (openSUSE_Tumbleweed) | Yes | (r ) Yes | Yes 2 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | ---- 3 | repo-non-oss | openSUSE-Tumbleweed-Non-Oss | Yes | (r ) Yes | Yes 4 | repo-openh264 | Open H.264 Codec (openSUSE Tumbleweed) | Yes | (r ) Yes | Yes 5 | repo-oss | openSUSE-Tumbleweed-Oss | Yes | (r ) Yes | Yes 6 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | ---- 7 | repo-update | openSUSE-Tumbleweed-Update | Yes | (r ) Yes | Yes

$ zypper in --from 1 qemu-kvm Loading repository data... Reading installed packages... 'qemu-kvm' not found in package names. Trying capabilities. Resolving package dependencies...

The following 37 NEW packages are going to be installed: acl canokey-qemu kernel-devel kernel-macros libaio1 libcapstone4 libefa1 libfdt1 libibverbs libibverbs1 libjpeg8 liblzo2-2 libmana1 libmlx4-1 libmlx5-1 libndctl6 libnuma1 libpixman-1-0 libpmem1 libpng16-16 librdmacm1 libslirp0 libsnappy1 liburing2 libvdeplug3 libxdp1 libyajl2 qemu qemu-accel-tcg-x86 qemu-ipxe qemu-ovmf-x86_64 qemu-seabios qemu-vgabios qemu-x86 rdma-core system-user-qemu xen-libs

I.e., as you can see, no qemu-kvm package is being installed:

$ rpm -qa|grep qemu-kvm $

And:

$ zypper in --from 1 qemu-kvm Loading repository data... Reading installed packages... 'qemu-kvm' not found in package names. Trying capabilities. 'qemu' providing 'qemu-kvm' is already installed. Resolving package dependencies... Nothing to do. $ zypper se --provides qemu-kvm Loading repository data... Reading installed packages...

S | Name | Summary | Type ---+----------------------+----------------------------------------------------+----------- | os-autoinst-qemu-kvm | Convenience package providing os-autoinst+qemu-kvm | package | qemu | Machine emulator and virtualizer | srcpackage i+ | qemu | Machine emulator and virtualizer | package

Furthermore, if I have the actual qemu-kvm package installed, with <= it is automatically removed, which is what I want... So things look good to me. What am I missing?


Eric Schirra's avatar

First a short answer. An offered version (=) cannot be obsolete (<=) at the same time.

And why should qemu-kvm be removed? Doesn't the package require other packages to build or install?


Dario Faggioli's avatar

Mmm... I guess I can try with "Obsoletes: qemu-kvm < %{version}-%{release}

But, yes, the actual qemu-kvm package must be removed, because now the qemu pacakge Obsoletes it, by providing everything that it was providing before (i.e., one symlink).

I don't understand what you mean with "Doesn't the package require other packages to build or install?"


Dario Faggioli's avatar

Ok, I've now tested Obsoletes: qemu-kvm < %{version}-%{release}, and no, it does not do what I want and need, while Obsoletes: qemu-kvm = %{version} does. And the SR has been accepted already, so I'm sticking to that

openSUSE Build Service is sponsored by