# Whether to support Ceph rbd storage backend %bcond_without rbd Name: qemu Version: 8.2.0 Release: 16 Epoch: 11 Summary: QEMU is a generic and open source machine emulator and virtualizer License: GPLv2 and BSD and MIT and CC-BY-SA-4.0 URL: http://www.qemu.org Source0: https://download.qemu.org/%{name}-%{version}%{?rcstr}.tar.xz Source1: 80-kvm.rules Source2: 99-qemu-guest-agent.rules Source3: bridge.conf Source4: BinDir.tar.gz Patch0001: tests-qemu-iotests-resolved-the-problem-that-the-108.patch Patch0002: hw-usb-Style-cleanup.patch Patch0003: virtio-gpu-Correct-virgl_renderer_resource_get_info-.patch Patch0004: blkio-Respect-memory-alignment-for-bounce-buffer-all.patch Patch0005: i386-cpu-Clear-FEAT_XSAVE_XSS_LO-HI-leafs-when-CPUID.patch Patch0006: i386-cpu-Mask-with-XCR0-XSS-mask-for-FEAT_XSAVE_XCR0.patch Patch0007: i386-cpuid-Decrease-cpuid_i-when-skipping-CPUID-leaf.patch Patch0008: i386-cpuid-Move-leaf-7-to-correct-group.patch Patch0009: chardev-char-socket-Fix-TLS-io-channels-sending-too-.patch Patch0010: vfio-pci-Ascend310-need-4Bytes-quirk-in-bar4.patch Patch0011: vfio-pci-Ascend710-need-4Bytes-quirk-in-bar0.patch Patch0012: vfio-pci-Ascend910-need-4Bytes-quirk-in-bar0.patch Patch0013: vfio-pci-Ascend710-change-to-bar2-quirk.patch Patch0014: hw-i2c-smbus_slave-Add-object-path-on-error-prints.patch Patch0015: virtio-gpu-remove-needless-condition.patch Patch0016: target-i386-sev-Fix-missing-ERRP_GUARD-for-error_pre.patch Patch0017: hw-acpi-cpu-Use-CPUState-typedef.patch Patch0018: hw-nvme-Use-pcie_sriov_num_vfs-CVE-2024-26328.patch Patch0019: pcie_sriov-Validate-NumVFs-CVE-2024-26327.patch Patch0020: Revert-file-posix-Remove-unused-s-discard_zeroes.patch Patch0021: qemu-img-block-set-zero-flags-only-when-discard_zero.patch Patch0022: qemu-img-add-qemu-img-direct-create.patch Patch0023: qemu-img-create-cache-paramter-only-use-for-reg-file.patch Patch0024: hw-cxl-cxl-host-Fix-missing-ERRP_GUARD-in-cxl_fixed_.patch Patch0025: hw-display-macfb-Fix-missing-ERRP_GUARD-in-macfb_nub.patch Patch0026: bugfix-fix-eventfds-may-double-free-when-vm_id-reuse.patch Patch0027: log-Add-some-logs-on-VM-runtime-path.patch Patch0028: util-log-add-CONFIG_DISABLE_QEMU_LOG-macro.patch Patch0029: bugfix-fix-some-illegal-memory-access-and-memory-lea.patch Patch0030: bugfix-fix-possible-memory-leak.patch Patch0031: scsi-disk-define-props-in-scsi_block_disk-to-avoid-m.patch Patch0032: qemu-pr-fixed-ioctl-failed-for-multipath-disk.patch Patch0033: scsi-cdrom-Fix-crash-after-remote-cdrom-detached.patch Patch0034: scsi-bugfix-fix-division-by-zero.patch Patch0035: qapi-block-core-Add-retry-option-for-error-action.patch Patch0036: block-backend-Introduce-retry-timer.patch Patch0037: block-backend-Add-device-specific-retry-callback.patch Patch0038: block-backend-Enable-retry-action-on-errors.patch Patch0039: block-backend-Add-timeout-support-for-retry.patch Patch0040: block-Add-error-retry-param-setting.patch Patch0041: virtio_blk-Add-support-for-retry-on-errors.patch Patch0042: scsi-bus-Refactor-the-code-that-retries-requests.patch Patch0043: scsi-disk-Add-support-for-retry-on-errors.patch Patch0044: block-backend-Stop-retrying-when-draining.patch Patch0045: block-Add-sanity-check-when-setting-retry-parameters.patch Patch0046: scsi-bus-fix-unmatched-object_unref.patch Patch0047: scsi-bus-fix-incorrect-call-for-blk_error_retry_rese.patch Patch0048: block-mirror-fix-file-system-went-to-read-only-after.patch Patch0049: block-enable-cache-mode-of-empty-cdrom.patch Patch0050: block-bugfix-Don-t-pause-vm-when-NOSPACE-EIO-happene.patch Patch0051: hw-loongarch-virt-Align-high-memory-base-address-wit.patch Patch0052: target-loongarch-Add-timer-information-dump-support.patch Patch0053: target-loongarch-meson-move-gdbstub.c-to-loongarch.s.patch Patch0054: target-loongarch-move-translate-modules-to-tcg.patch Patch0055: linux-headers-Update-to-Linux-v6.7-rc5.patch Patch0056: linux-headers-Synchronize-linux-headers-from-linux-v.patch Patch0057: target-loongarch-Define-some-kvm_arch-interfaces.patch Patch0058: target-loongarch-Supplement-vcpu-env-initial-when-vc.patch Patch0059: target-loongarch-Implement-kvm-get-set-registers.patch Patch0060: target-loongarch-Implement-kvm_arch_init-function.patch Patch0061: target-loongarch-Implement-kvm_arch_init_vcpu.patch Patch0062: target-loongarch-Implement-kvm_arch_handle_exit.patch Patch0063: target-loongarch-Restrict-TCG-specific-code.patch Patch0064: target-loongarch-Implement-set-vcpu-intr-for-kvm.patch Patch0065: target-loongarch-Add-loongarch-kvm-into-meson-build.patch Patch0066: hw-intc-loongarch_ipi-Use-MemTxAttrs-interface-for-i.patch Patch0067: hw-loongarch-virt-Set-iocsr-address-space-per-board-.patch Patch0068: hw-intc-loongarch_extioi-Add-dynamic-cpu-number-supp.patch Patch0069: hw-intc-loongarch_extioi-Add-vmstate-post_load-suppo.patch Patch0070: configure-Add-linux-header-compile-support-for-Loong.patch Patch0071: target-loongarch-Set-cpuid-CSR-register-only-once-wi.patch Patch0072: target-loongarch-kvm-Enable-LSX-LASX-extension.patch Patch0073: target-loongarch-Fix-qtest-test-hmp-error-when-KVM-o.patch Patch0074: loongarch-Change-the-UEFI-loading-mode-to-loongarch.patch Patch0075: disable-keyring-option.patch Patch0076: virtio-net-correctly-copy-vnet-header-when-flushing-.patch Patch0077: ui-clipboard-mark-type-as-not-available-when-there-i.patch Patch0078: memory-backup-Modify-the-VM-s-physical-bits-value-se.patch Patch0079: backup-memory-bakcup-hugepages-hugepages-files-maybe.patch Patch0080: block-disallow-block-jobs-when-there-is-a-BDRV_O_INA.patch Patch0081: travis-ci-Rename-SOFTMMU-SYSTEM.patch Patch0082: iotests-adapt-to-output-change-for-recently-introduc.patch Patch0083: migration-Skip-only-empty-block-devicesi.patch Patch0084: vhost-cancel-migration-when-vhost-user-restarted-dur.patch Patch0085: Currently-while-kvm-and-qemu-can-not-handle-some-kvm.patch Patch0086: ps2-fix-oob-in-ps2-kbd.patch Patch0087: monitor-qmp-drop-inflight-rsp-if-qmp-client-broken.patch Patch0088: oslib-posix-optimise-vm-startup-time-for-1G-hugepage.patch Patch0089: migration-skip-cache_drop-for-bios-bootloader-and-nv.patch Patch0090: migration-Add-multi-thread-compress-method.patch Patch0091: migration-Refactoring-multi-thread-compress-migratio.patch Patch0092: migration-Add-multi-thread-compress-ops.patch Patch0093: migration-Add-zstd-support-in-multi-thread-compressi.patch Patch0094: migration-Add-compress_level-sanity-check.patch Patch0095: doc-Update-multi-thread-compression-doc.patch Patch0096: cpu-features-fix-bug-for-memory-leakage.patch Patch0097: migration-report-migration-related-thread-pid-to-lib.patch Patch0098: migration-report-multiFd-related-thread-pid-to-libvi.patch Patch0099: virtio-check-descriptor-numbers.patch Patch0100: virtio-bugfix-add-rcu_read_lock-when-vring_avail_idx.patch Patch0101: virtio-print-the-guest-virtio_net-features-that-host.patch Patch0102: virtio-bugfix-check-the-value-of-caches-before-acces.patch Patch0103: virtio-scsi-bugfix-fix-qemu-crash-for-hotplug-scsi-d.patch Patch0104: nbd-server.c-fix-invalid-read-after-client-was-alrea.patch Patch0105: qemu-nbd-make-native-as-the-default-aio-mode.patch Patch0106: qemu-nbd-set-timeout-to-qemu-nbd-socket.patch Patch0107: qdev-monitors-Fix-reundant-error_setg-of-qdev_add_de.patch Patch0108: pcie-Compat-with-devices-which-do-not-support-Link-W.patch Patch0109: pcie-Add-pcie-root-port-fast-plug-unplug-feature.patch Patch0110: net-dump.c-Suppress-spurious-compiler-warning.patch Patch0111: hw-net-rocker_of_dpa-fix-double-free-bug-of-rocker-d.patch Patch0112: i6300esb-watchdog-bugfix-Add-a-runstate-transition.patch Patch0113: vhost-user-Set-the-acked_features-to-vm-s-featrue.patch Patch0114: vhost-user-Add-support-reconnect-vhost-user-socket.patch Patch0115: fix-qemu-core-when-vhost-user-net-config-with-server.patch Patch0116: vhost-user-quit-infinite-loop-while-used-memslots-is.patch Patch0117: vhost-user-add-vhost_set_mem_table-when-vm-load_setu.patch Patch0118: vhost-user-add-unregister_savevm-when-vhost-user-cle.patch Patch0119: monitor-Discard-BLOCK_IO_ERROR-event-when-VM-reboote.patch Patch0120: virtio-net-bugfix-do-not-delete-netdev-before-virtio.patch Patch0121: virtio-net-fix-max-vring-buf-size-when-set-ring-num.patch Patch0122: virtio-net-set-the-max-of-queue-size-to-4096.patch Patch0123: virtio-net-update-the-default-and-max-of-rx-tx_queue.patch Patch0124: hw-usb-reduce-the-vpcu-cost-of-UHCI-when-VNC-disconn.patch Patch0125: vhost-vdpa-add-VHOST_BACKEND_F_BYTEMAPLOG.patch Patch0126: vhost-vdpa-add-migration-log-ops-for-VhostOps.patch Patch0127: vhost-introduce-bytemap-for-vhost-backend-logging.patch Patch0128: vhost-add-vhost_dev_suspend-resume_op.patch Patch0129: vhost-implement-vhost-vdpa-suspend-resume.patch Patch0130: vhost-implement-vhost_vdpa_device_suspend-resume.patch Patch0131: vhost-implement-savevm_handler-for-vdpa-device.patch Patch0132: vhost-implement-post-resume-bh.patch Patch0133: vhost-implement-migration-state-notifier-for-vdpa-de.patch Patch0134: vdpa-implement-vdpa-device-migration.patch Patch0135: vdpa-move-memory-listener-to-the-realize-stage.patch Patch0136: vdpa-support-vdpa-device-suspend-resume.patch Patch0137: vdpa-suspend-function-return-0-when-the-vdpa-device-.patch Patch0138: vdpa-correct-param-passed-in-when-unregister-save.patch Patch0139: vdpa-don-t-suspend-resume-device-when-vdpa-device-no.patch Patch0140: docs-Add-generic-vhost-vdpa-device-documentation.patch Patch0141: vdpa-set-vring-enable-only-if-the-vring-address-has-.patch Patch0142: ide-ahci-add-check-to-avoid-null-dereference-CVE-201.patch Patch0143: net-eepro100-validate-various-address-valuesi-CVE-20.patch Patch0144: cpu-add-Kunpeng-920-cpu-support.patch Patch0145: cpu-add-Cortex-A72-processor-kvm-target-support.patch Patch0146: tests-virt-Allow-changes-to-PPTT-test-table.patch Patch0147: hw-arm64-add-vcpu-cache-info-support.patch Patch0148: arm64-Add-the-cpufreq-device-to-show-cpufreq-info-to.patch Patch0149: tests-virt-Update-expected-ACPI-tables-for-virt-test.patch Patch0150: pl011-reset-read-FIFO-when-UARTTIMSC-0-UARTICR-0xfff.patch Patch0151: shadow_dev-introduce-shadow-dev-for-virtio-net-devic.patch Patch0152: tests-Disable-filemonitor-testcase.patch Patch0153: freeclock-add-qmp-command-to-get-time-offset-of-vm-i.patch Patch0154: freeclock-set-rtc_date_diff-for-arm.patch Patch0155: freeclock-set-rtc_date_diff-for-X86.patch Patch0156: i386-cache-passthrough-Update-AMD-8000_001D.EAX-25-1.patch Patch0157: bugfix-irq-Avoid-covering-object-refcount-of-qemu_ir.patch Patch0158: log-Add-log-at-boot-cpu-init-for-aarch64.patch Patch0159: feature-Add-log-for-each-modules.patch Patch0160: feature-Add-logs-for-vm-start-and-destroy.patch Patch0161: pl031-support-rtc-timer-property-for-pl031.patch Patch0162: arm-acpi-Fix-when-make-qemu-system-aarch64-at-x86_64.patch Patch0163: linux-headers-update-against-5.10-and-manual-clear-v.patch Patch0164: vfio-Maintain-DMA-mapping-range-for-the-container.patch Patch0165: vfio-migration-Add-support-for-manual-clear-vfio-dir.patch Patch0166: arm-virt-target-arm-Add-new-ARMCPU-socket-cluster-co.patch Patch0167: cpus-common-Add-common-CPU-utility-for-possible-vCPU.patch Patch0168: hw-arm-virt-Move-setting-of-common-CPU-properties-in.patch Patch0169: arm-virt-target-arm-Machine-init-time-change-common-.patch Patch0170: accel-kvm-Extract-common-KVM-vCPU-creation-parking-c.patch Patch0171: arm-virt-kvm-Pre-create-disabled-possible-vCPUs-mach.patch Patch0172: arm-virt-gicv3-Changes-to-pre-size-GIC-with-possible.patch Patch0173: arm-virt-Init-PMU-at-host-for-all-possible-vcpus.patch Patch0174: hw-acpi-Move-CPU-ctrl-dev-MMIO-region-len-macro-to-c.patch Patch0175: arm-acpi-Enable-ACPI-support-for-vcpu-hotplug.patch Patch0176: hw-acpi-Add-ACPI-CPU-hotplug-init-stub.patch Patch0177: hw-acpi-Use-qemu_present_cpu-API-in-ACPI-CPU-hotplug.patch Patch0178: hw-acpi-Init-GED-framework-with-cpu-hotplug-events.patch Patch0179: arm-virt-Add-cpu-hotplug-events-to-GED-during-creati.patch Patch0180: arm-virt-Create-GED-dev-before-disabled-CPU-Objs-are.patch Patch0181: hw-acpi-Update-CPUs-AML-with-cpu-ctrl-dev-change.patch Patch0182: arm-virt-acpi-Factor-out-CPPC-building-from-DSDT-CPU.patch Patch0183: acpi-cpu-Add-cpu_cppc-building-support.patch Patch0184: tests-acpi-bios-tables-test-Allow-changes-to-virt-DS.patch Patch0185: arm-virt-acpi-Build-CPUs-AML-with-CPU-Hotplug-suppor.patch Patch0186: arm-virt-Make-ARM-vCPU-present-status-ACPI-persisten.patch Patch0187: hw-acpi-ACPI-AML-Changes-to-reflect-the-correct-_STA.patch Patch0188: hw-acpi-Update-GED-_EVT-method-AML-with-cpu-scan.patch Patch0189: hw-arm-MADT-Tbl-change-to-size-the-guest-with-possib.patch Patch0190: hw-acpi-Make-_MAT-method-optional.patch Patch0191: arm-virt-Release-objects-for-disabled-possible-vCPUs.patch Patch0192: hw-acpi-Update-ACPI-GED-framework-to-support-vCPU-Ho.patch Patch0193: arm-virt-Add-update-basic-hot-un-plug-framework.patch Patch0194: arm-virt-Changes-to-un-wire-GICC-vCPU-IRQs-during-ho.patch Patch0195: hw-arm-gicv3-Changes-to-update-GIC-with-vCPU-hot-plu.patch Patch0196: hw-intc-arm-gicv3-Changes-required-to-re-init-the-vC.patch Patch0197: arm-virt-Update-the-guest-via-GED-about-CPU-hot-un-p.patch Patch0198: hw-arm-Changes-required-for-reset-and-to-support-nex.patch Patch0199: physmem-gdbstub-Common-helping-funcs-changes-to-unre.patch Patch0200: target-arm-Add-support-of-unrealize-ARMCPU-during-vC.patch Patch0201: target-arm-kvm-Write-CPU-state-back-to-KVM-on-reset.patch Patch0202: target-arm-kvm-tcg-Register-Handle-SMCCC-hypercall-e.patch Patch0203: hw-arm-Support-hotplug-capability-check-using-_OSC-m.patch Patch0204: tcg-mttcg-enable-threads-to-unregister-in-tcg_ctxs.patch Patch0205: hw-arm-virt-Expose-cold-booted-CPUs-as-MADT-GICC-Ena.patch Patch0206: system-physmem-Fix-possible-double-free-when-destroy.patch Patch0207: arm-cpu-Some-fixes-for-arm_cpu_unrealizefn.patch Patch0208: acpi-cpu-Fix-cpu_hotplug_hw_init.patch Patch0209: system-cpus-Fix-pause_all_vcpus-under-concurrent-env.patch Patch0210: system-cpus-Fix-resume_all_vcpus-under-vCPU-hotplug-.patch Patch0211: arm-virt.c-Convey-local_err-when-set-psci-conduit.patch Patch0212: arm-virt-Fix-adjudgement-of-core_id-for-vcpu-hotplug.patch Patch0213: accel-kvm-Use-correct-id-for-parked-vcpu.patch Patch0214: arm-kvm-Set-psci-smccc-filter-only-with-vcpu-hotplug.patch Patch0215: intc-gicv3-Fixes-for-vcpu-hotplug.patch Patch0216: acpi-ged-Init-cpu-hotplug-only-when-machine-support-.patch Patch0217: acpi-ged-Remove-cpuhp-field-of-ged.patch Patch0218: arm-virt-acpi-Require-possible_cpu_arch_ids-for-buil.patch Patch0219: arm-virt-Consider-has_ged-when-set-mc-has_hotpluggab.patch Patch0220: arm-virt-Require-mc-has_hotpluggable_cpus-for-cold-p.patch Patch0221: tests-acpi-Update-expected-ACPI-tables-for-vcpu-hotp.patch Patch0222: coro-support-live-patch-for-libcare.patch Patch0223: arm-virt-Use-separate-filed-to-identify-cpu-hotplug-.patch Patch0224: arm-virt-Use-max_cpus-to-calculate-redist1_count.patch Patch0225: include-ui-rect.h-fix-qemu_rect_init-mis-assignment.patch Patch0226: tests-bios-tables-test-Rename-smbios-type-4-related-.patch Patch0227: hw-scsi-scsi-generic-Fix-io_timeout-property-not-app.patch Patch0228: hw-net-virtio-net-fix-qemu-set-used-ring-flag-even-v.patch Patch0229: block-virtio-blk-Fix-memory-leak-from-virtio_blk_zon.patch Patch0230: hw-nvme-fix-Werror-maybe-uninitialized.patch Patch0231: hw-net-net_tx_pkt-Fix-overrun-in-update_sctp_checksu.patch Patch0232: hw-virtio-Introduce-virtio_bh_new_guarded-helper.patch Patch0233: hw-display-virtio-gpu-Protect-from-DMA-re-entrancy-b.patch Patch0234: hw-char-virtio-serial-bus-Protect-from-DMA-re-entran.patch Patch0235: hw-virtio-virtio-crypto-Protect-from-DMA-re-entrancy.patch Patch0236: hw-sd-sdhci-Do-not-update-TRNMOD-when-Command-Inhibi.patch Patch0237: acpi-cpu-Fix-detection-of-present-cpu.patch Patch0238: arm-virt-Don-t-modify-smp.max_cpus-when-vcpu-hotplug.patch Patch0239: kvm-arm-Fix-SVE-related-logic-for-vcpu-hotplug-featu.patch Patch0240: arm-virt-acpi-Extend-cpufreq-to-support-max_cpus.patch Patch0241: kvm-arm-Fix-compatibility-of-cold-plug-CPU-with-SVE.patch Patch0242: hw-isa-vt82c686-Keep-track-of-PIRQ-PINT-pins-separat.patch Patch0243: target-i386-Introduce-Icelake-Server-v7-to-enable-TS.patch Patch0244: target-i386-Add-new-CPU-model-SierraForest.patch Patch0245: target-i386-Export-RFDS-bit-to-guests.patch Patch0246: target-loongarch-Fix-qemu-system-loongarch64-assert-.patch Patch0247: target-loongarch-Fix-qemu-loongarch64-hang-when-exec.patch Patch0248: target-loongarch-Fix-tlb-huge-page-loading-issue.patch Patch0249: target-loongarch-kvm-Add-software-breakpoint-support.patch Patch0250: target-loongarch-kvm-sync-kernel-header-files.patch Patch0251: hw-intc-loongarch_extioi-Add-virt-extension-support.patch Patch0252: target-loongarch-kvm-Add-pmu-support.patch Patch0253: target-loongarch-kvm-Fix-vm-restore-failed.patch Patch0254: target-loongarch-kvm-Add-pv-steal-time-support.patch Patch0255: target-loongarch-kvm-fpu-save-the-vreg-registers-hig.patch Patch0256: ppc-pnv-I2C-controller-is-not-user-creatablei.patch Patch0257: arm-virt-Set-vcpus_count-of-CPU-as-1-to-compatible-w.patch Patch0258: hw-ufs-Fix-buffer-overflow-bug.patch Patch0259: ui-gtk-Fix-mouse-motion-event-scaling-issue-with-GTK.patch Patch0260: target-i386-Add-Hygon-Dhyana-v3-CPU-model.patch Patch0261: target-i386-Add-new-Hygon-Dharma-CPU-model.patch Patch0262: target-riscv-cpu.c-fix-Zvkb-extension-config.patch Patch0263: target-hexagon-idef-parser-fix-leak-of-init_list.patch Patch0264: migration-dirtyrate-Fix-segmentation-fault.patch Patch0265: qcow2-Don-t-open-data_file-with-BDRV_O_NO_IO-CVE-202.patch Patch0266: iotests-244-Don-t-store-data-file-with-protocol-in-i.patch Patch0267: iotests-270-Don-t-store-data-file-with-json-prefix-i.patch Patch0268: block-Parse-filenames-only-when-explicitly-requested.patch Patch0269: nbd-Minor-style-and-typo-fixes.patch Patch0270: nbd-server-Plumb-in-new-args-to-nbd_client_add.patch Patch0271: nbd-server-CVE-2024-7409-Cap-default-max-connections.patch Patch0272: nbd-server-CVE-2024-7409-Drop-non-negotiating-client.patch Patch0273: nbd-server-CVE-2024-7409-Close-stray-clients-at-serv.patch BuildRequires: flex BuildRequires: gcc BuildRequires: make BuildRequires: bison BuildRequires: texinfo BuildRequires: perl-podlators BuildRequires: chrpath BuildRequires: gettext BuildRequires: python-sphinx BuildRequires: ninja-build BuildRequires: zlib-devel BuildRequires: zstd-devel BuildRequires: gtk3-devel BuildRequires: gnutls-devel BuildRequires: numactl-devel BuildRequires: device-mapper-multipath-devel BuildRequires: rdma-core-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: cyrus-sasl-devel BuildRequires: libaio-devel BuildRequires: usbredir-devel >= 0.5.2 BuildRequires: libseccomp-devel >= 2.3.0 BuildRequires: systemd-devel BuildRequires: libiscsi-devel BuildRequires: snappy-devel BuildRequires: lzo-devel BuildRequires: ncurses-devel BuildRequires: libattr-devel BuildRequires: libcurl-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: pixman-devel BuildRequires: libusbx-devel BuildRequires: bzip2-devel BuildRequires: libepoxy-devel BuildRequires: libtasn1-devel BuildRequires: libxml2-devel BuildRequires: libudev-devel BuildRequires: pam-devel BuildRequires: perl-Test-Harness BuildRequires: python3-devel %if %{with rbd} BuildRequires: librbd-devel %endif BuildRequires: krb5-devel BuildRequires: libssh-devel BuildRequires: glib2 BuildRequires: libfdt-devel BuildRequires: virglrenderer-devel BuildRequires: libslirp-devel BuildRequires: liburing-devel %ifarch loongarch64 BuildRequires: spice-server-devel %endif # for upgrade from qemu-kvm Provides: qemu-kvm Obsoletes: qemu-kvm < 11:8.2.0 Requires(post): /usr/bin/getent Requires(post): /usr/sbin/groupadd Requires(post): /usr/sbin/useradd Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units Requires(postun): qemu-block-iscsi Requires(postun): qemu-block-curl Requires(postun): qemu-hw-usb-host Requires: libgcc Requires: liburing %description QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. QEMU has two operating modes: Full system emulation. In this mode, QEMU emulates a full system (for example a PC), including one or several processors and various peripherals. It can be used to launch different Operating Systems without rebooting the PC or to debug system code. User mode emulation. In this mode, QEMU can launch processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator (https://www.winehq.org) or to ease cross-compilation and cross-debugging. You can refer to https://www.qemu.org for more infortmation. %package guest-agent Summary: QEMU guest agent Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units %description guest-agent This package provides an agent to run inside guests, which communicates with the host over a virtio-serial channel named "org.qemu.guest_agent.0" Please refer to https://wiki.qemu.org/Features/GuestAgent for more information. %package help Summary: Documents for qemu Buildarch: noarch %description help This package provides documents for qemu related man help and information. %package img Summary: QEMU command line tool for manipulating disk images %description img This package provides a command line tool for manipulating disk images %if %{with rbd} %package block-rbd Summary: Qemu-block-rbd %description block-rbd This package provides RBD support for Qemu %endif %package block-ssh Summary: Qemu-block-ssh %description block-ssh This package provides block-ssh support for Qemu %package block-iscsi Summary: Qemu-block-iscsi %description block-iscsi This package provides block-iscsi support for Qemu %package block-curl Summary: Qemu-block-curl %description block-curl This package provides block-curl support for Qemu %package hw-usb-host Summary: Qemu-hw-usb-host %description hw-usb-host This package provides hw-usb-host support for Qemu %ifarch %{ix86} x86_64 %package seabios Summary: QEMU seabios %description seabios This package include bios-256k.bin and bios.bin of seabios %endif %package system-aarch64 Summary: Qemu-system-aarch64 Requires: qemu %description system-aarch64 This package provides the QEMU system emulator for AArch64. %package system-arm Summary: Qemu-system-arm Requires: qemu %description system-arm This package provides the QEMU system emulator for ARM. %package system-x86_64 Summary: Qemu-system-x86_64 Requires: qemu %description system-x86_64 This package provides the QEMU system emulator for x86_64. %package system-ppc64 Summary: Qemu-system-ppc64 Requires: qemu %description system-ppc64 This package provides the QEMU system emulator for ppc64le. %package system-riscv Summary: Qemu-system-riscv32, Qemu-system-riscv64 Requires: qemu %description system-riscv This package provides the QEMU system emulator for riscv. %package system-loongarch64 Summary: Qemu-system-loongarch64 Requires: qemu %description system-loongarch64 This package provides the QEMU system emulator for loongarch64. %prep %setup -q -n qemu-%{version}%{?rcstr} %autopatch -p1 %build %ifarch x86_64 buildarch="x86_64-softmmu" targetarch="aarch64-softmmu arm-softmmu riscv32-softmmu riscv64-softmmu" %endif %ifarch aarch64 buildarch="aarch64-softmmu" targetarch="x86_64-softmmu arm-softmmu riscv32-softmmu riscv64-softmmu" %endif %ifarch ppc64le buildarch="ppc64-softmmu" targetarch="x86_64-softmmu aarch64-softmmu arm-softmmu riscv32-softmmu riscv64-softmmu" %endif %ifarch loongarch64 buildarch="loongarch64-softmmu" targetarch="x86_64-softmmu aarch64-softmmu arm-softmmu riscv32-softmmu riscv64-softmmu" %endif %ifarch riscv64 buildarch="riscv64-softmmu" targetarch="x86_64-softmmu aarch64-softmmu arm-softmmu riscv32-softmmu" %endif buildldflags="VL_LDFLAGS=-Wl,--build-id" qemubuilddir="build" tar xf %{SOURCE4} cd BinDir/ \cp -r -a * ../ cd ../ ./configure \ --prefix=%{_prefix} \ --target-list="${buildarch} ${targetarch}" \ --extra-cflags="%{optflags} -fPIE -DPIE -fPIC -ftls-model=initial-exec" \ --extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack" \ --datadir=%{_datadir} \ --docdir=%{_docdir}/ \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --localstatedir=%{_localstatedir} \ --sysconfdir=%{_sysconfdir} \ --interp-prefix=%{_prefix}/qemu-%%M \ --firmwarepath=%{_datadir}/%{name} \ --with-pkgversion=%{name}-%{version}-%{release} \ --python=/usr/bin/python3 \ --enable-slirp \ --enable-slirp-smbd \ --enable-gtk \ --enable-docs \ --enable-guest-agent \ --enable-pie \ --enable-numa \ --enable-mpath \ --disable-libnfs \ --disable-bzip2 \ --enable-kvm \ --enable-tcg \ --enable-rdma \ --enable-linux-aio \ --enable-linux-io-uring \ --enable-cap-ng \ --enable-vhost-user \ --enable-vhost-net \ --enable-vhost-kernel \ --enable-vhost-user-blk-server \ --enable-vhost-vdpa \ --enable-tpm \ --enable-modules \ --enable-libssh \ --enable-fdt \ --enable-virglrenderer \ --enable-cap-ng \ --enable-libusb \ %if %{with rbd} --enable-rbd \ %else --disable-rbd \ %endif --disable-dmg \ --disable-qcow1 \ --disable-vdi \ --disable-vvfat \ --disable-qed \ --disable-parallels \ --disable-capstone \ --disable-smartcard \ --enable-zstd \ --disable-brlapi \ --disable-plugins \ --enable-debug make %{?_smp_mflags} $buildldflags V=1 cp ${qemubuilddir}/${buildarch}/qemu-system-* qemu-kvm %install make %{?_smp_mflags} DESTDIR=%{buildroot} \ install %find_lang %{name} install -m 0755 qemu-kvm %{buildroot}%{_libexecdir}/ ln -s %{_libexecdir}/qemu-kvm %{buildroot}/%{_bindir}/qemu-kvm install -D -p -m 0644 contrib/systemd/qemu-pr-helper.service %{buildroot}%{_unitdir}/qemu-pr-helper.service install -D -p -m 0644 contrib/systemd/qemu-pr-helper.socket %{buildroot}%{_unitdir}/qemu-pr-helper.socket install -D -p -m 0644 qemu.sasl %{buildroot}%{_sysconfdir}/sasl2/qemu.conf install -D -m 0644 %{_sourcedir}/bridge.conf %{buildroot}%{_sysconfdir}/qemu/bridge.conf install -D -m 0644 %{_sourcedir}/80-kvm.rules %{buildroot}/usr/lib/udev/rules.d/80-kvm.rules # For qemu-guest-agent package %global _udevdir /lib/udev/rules.d install -D -p -m 0644 contrib/systemd/qemu-guest-agent.service %{buildroot}%{_unitdir}/qemu-guest-agent.service install -D -m 0644 %{_sourcedir}/99-qemu-guest-agent.rules %{buildroot}%{_udevdir}/99-qemu-guest-agent.rules mkdir -p %{buildroot}%{_localstatedir}/log touch %{buildroot}%{_localstatedir}/log/qga-fsfreeze-hook.log # For qemu docs package %global qemudocdir %{_docdir}/%{name} rm -rf %{buildroot}%{qemudocdir}/specs rm -rf %{buildroot}%{qemudocdir}/.buildinfo rm -rf %{buildroot}%{qemudocdir}/objects.inv rm -rf %{buildroot}%{qemudocdir}/genindex.html rm -rf %{buildroot}%{qemudocdir}/index.html install -D -p -m 0644 -t %{buildroot}%{qemudocdir} README.rst COPYING COPYING.LIB LICENSE chmod -x %{buildroot}%{_mandir}/man1/* rm -rf %{buildroot}%{_datadir}/%{name}/vgabios-ati.bin rm -rf %{buildroot}%{_datadir}/%{name}/bios-microvm.bin rm -rf %{buildroot}%{_datadir}/%{name}/openbios-* rm -rf %{buildroot}%{_datadir}/%{name}/QEMU,*.bin rm -rf %{buildroot}%{_datadir}/%{name}/bamboo.dtb rm -rf %{buildroot}%{_datadir}/%{name}/canyonlands.dtb rm -rf %{buildroot}%{_datadir}/%{name}/hppa-firmware.img rm -rf %{buildroot}%{_datadir}/%{name}/palcode-clipper rm -rf %{buildroot}%{_datadir}/%{name}/petalogix-* rm -rf %{buildroot}%{_datadir}/%{name}/qemu_vga.ndrv rm -rf %{buildroot}%{_datadir}/%{name}/s390-* %ifnarch ppc64le rm -rf %{buildroot}%{_datadir}/%{name}/slof.bin rm -rf %{buildroot}%{_datadir}/%{name}/skiboot.lid rm -rf %{buildroot}%{_datadir}/%{name}/spapr-* rm -rf %{buildroot}%{_datadir}/%{name}/ppc_* %endif rm -rf %{buildroot}%{_datadir}/%{name}/u-boot* rm -rf %{buildroot}%{_datadir}/%{name}/core3-hmcode rm -rf %{buildroot}%{_datadir}/%{name}/core3-reset rm -rf %{buildroot}%{_datadir}/%{name}/uefi-bios-sw rm -rf %{buildroot}%{_bindir}/ivshmem* rm -f %{buildroot}%{_datadir}/%{name}/edk2* rm -rf %{buildroot}%{_datadir}/%{name}/firmware rm -rf %{buildroot}%{_datadir}/%{name}/qemu-nsis.bmp rm -rf %{buildroot}%{_libdir}/%{name}/audio-pa.so rm -rf %{buildroot}%{_libdir}/%{name}/block-gluster.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-sdl.so rm -rf %{buildroot}%{_libdir}/%{name}/chardev-baum.so %ifnarch loongarch64 rm -rf %{buildroot}%{_libdir}/%{name}/audio-oss.so rm -rf %{buildroot}%{_libdir}/%{name}/audio-spice.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-curses.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-gtk.so rm -rf %{buildroot}%{_libdir}/%{name}/chardev-spice.so rm -rf %{buildroot}%{_libdir}/%{name}/hw-display-qxl.so rm -rf %{buildroot}%{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so rm -rf %{buildroot}%{_libdir}/%{name}/hw-usb-redirect.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-opengl.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-spice-app.so rm -rf %{buildroot}%{_libdir}/%{name}/ui-spice-core.so %endif rm -rf %{buildroot}%{_libexecdir}/vhost-user-gpu rm -rf %{buildroot}%{_datadir}/%{name}/vhost-user/50-qemu-gpu.json %ifarch ppc64le %endif %if %{with rbd} strip %{buildroot}%{_libdir}/%{name}/block-rbd.so %endif strip %{buildroot}%{_libdir}/%{name}/block-iscsi.so strip %{buildroot}%{_libdir}/%{name}/block-curl.so strip %{buildroot}%{_libdir}/%{name}/block-ssh.so strip %{buildroot}%{_libdir}/%{name}/hw-usb-host.so for f in %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/* \ %{buildroot}%{_libexecdir}/*; do if file $f | grep ELF | grep -q -i shared || readelf -d $f | grep -q -i rpath; then chrpath --delete $f; fi done %check echo "#define CONFIG_DISABLE_QEMU_LOG" >> build/config-host.h make %{?_smp_mflags} $buildldflags V=1 make check V=1 %{?_smp_mflags} %pre getent group kvm >/dev/null || groupadd -g 36 -r kvm getent group qemu >/dev/null || groupadd -g 107 -r qemu getent passwd qemu >/dev/null || \ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ -c "qemu user" qemu %post guest-agent %systemd_post qemu-guest-agent.service %preun guest-agent %systemd_preun qemu-guest-agent.service %postun guest-agent %systemd_postun_with_restart qemu-guest-agent.service %files -f %{name}.lang %dir %{_datadir}/%{name}/ %{_libexecdir}/qemu-kvm %{_bindir}/qemu-kvm %{_libdir}/%{name}/accel-qtest-*.so %ifarch x86_64 %{_libdir}/%{name}/accel-tcg-*.so %{_libdir}/%{name}/hw-display-virtio-vga-gl.so %{_libdir}/%{name}/hw-display-virtio-vga.so %endif %{_libdir}/%{name}/hw-display-virtio-gpu-gl.so %{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so %{_libdir}/%{name}/hw-display-virtio-gpu.so %{_libdir}/%{name}/audio-dbus.so %{_libdir}/%{name}/ui-dbus.so %{_libdir}/%{name}/ui-egl-headless.so %{_docdir}/%{name}/dbus-dbusindex.html %{_datadir}/%{name}/vof-nvram.bin %{_datadir}/%{name}/vof.bin %{_datadir}/%{name}/efi-virtio.rom %{_datadir}/%{name}/efi-e1000.rom %{_datadir}/%{name}/efi-e1000e.rom %{_datadir}/%{name}/efi-rtl8139.rom %{_datadir}/%{name}/efi-pcnet.rom %{_datadir}/%{name}/efi-ne2k_pci.rom %{_datadir}/%{name}/efi-eepro100.rom %{_datadir}/%{name}/efi-vmxnet3.rom %{_datadir}/%{name}/pxe-virtio.rom %{_datadir}/%{name}/pxe-e1000.rom %{_datadir}/%{name}/pxe-ne2k_pci.rom %{_datadir}/%{name}/pxe-pcnet.rom %{_datadir}/%{name}/pxe-rtl8139.rom %{_datadir}/%{name}/pxe-eepro100.rom %{_datadir}/%{name}/qboot.rom %{_datadir}/%{name}/trace-events-all %{_datadir}/applications/qemu.desktop %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/%{name}/keymaps/ %{_bindir}/elf2dmp %{_bindir}/qemu-edid %{_bindir}/qemu-keymap %{_bindir}/qemu-pr-helper %{_libexecdir}/virtfs-proxy-helper %{_unitdir}/qemu-pr-helper.service %{_unitdir}/qemu-pr-helper.socket %attr(4755, root, root) %{_libexecdir}/qemu-bridge-helper %config(noreplace) %{_sysconfdir}/sasl2/qemu.conf %dir %{_sysconfdir}/qemu %config(noreplace) %{_sysconfdir}/qemu/bridge.conf /usr/lib/udev/rules.d/80-kvm.rules %doc %{qemudocdir}/COPYING %doc %{qemudocdir}/COPYING.LIB %doc %{qemudocdir}/LICENSE %ifarch x86_64 %{_datadir}/%{name}/bios.bin %{_datadir}/%{name}/bios-256k.bin %{_datadir}/%{name}/vgabios.bin %{_datadir}/%{name}/vgabios-cirrus.bin %{_datadir}/%{name}/vgabios-qxl.bin %{_datadir}/%{name}/vgabios-stdvga.bin %{_datadir}/%{name}/vgabios-vmware.bin %{_datadir}/%{name}/vgabios-virtio.bin %{_datadir}/%{name}/vgabios-ramfb.bin %{_datadir}/%{name}/vgabios-bochs-display.bin %{_datadir}/%{name}/linuxboot.bin %{_datadir}/%{name}/linuxboot_dma.bin %{_datadir}/%{name}/pvh.bin %{_datadir}/%{name}/multiboot.bin %{_datadir}/%{name}/multiboot_dma.bin %{_datadir}/%{name}/kvmvapic.bin %endif %files system-aarch64 %{_bindir}/qemu-system-aarch64 %files system-arm %{_bindir}/qemu-system-arm %{_datadir}/%{name}/npcm7xx_bootrom.bin %files system-x86_64 %{_bindir}/qemu-system-x86_64 %ifnarch x86_64 %{_libdir}/%{name}/accel-tcg-*.so %{_libdir}/%{name}/hw-display-virtio-vga-gl.so %{_libdir}/%{name}/hw-display-virtio-vga.so %{_datadir}/%{name}/bios.bin %{_datadir}/%{name}/bios-256k.bin %{_datadir}/%{name}/vgabios.bin %{_datadir}/%{name}/vgabios-cirrus.bin %{_datadir}/%{name}/vgabios-qxl.bin %{_datadir}/%{name}/vgabios-stdvga.bin %{_datadir}/%{name}/vgabios-vmware.bin %{_datadir}/%{name}/vgabios-virtio.bin %{_datadir}/%{name}/vgabios-ramfb.bin %{_datadir}/%{name}/vgabios-bochs-display.bin %{_datadir}/%{name}/linuxboot.bin %{_datadir}/%{name}/linuxboot_dma.bin %{_datadir}/%{name}/pvh.bin %{_datadir}/%{name}/multiboot.bin %{_datadir}/%{name}/multiboot_dma.bin %{_datadir}/%{name}/kvmvapic.bin %endif %ifarch ppc64le %files system-ppc64 %{_bindir}/qemu-system-ppc64 %{_datadir}/%{name}/slof.bin %{_datadir}/%{name}/skiboot.lid %endif %files system-riscv %{_bindir}/qemu-system-riscv32 %{_bindir}/qemu-system-riscv64 %{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.* %{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.* %ifnarch ppc64le %endif %ifarch loongarch64 %files system-loongarch64 %{_bindir}/qemu-system-loongarch64 %{_libdir}/%{name}/audio-oss.so %{_libdir}/%{name}/ui-curses.so %{_libdir}/%{name}/ui-gtk.so %{_libdir}/%{name}/audio-spice.so %{_libdir}/%{name}/chardev-spice.so %{_libdir}/%{name}/hw-display-qxl.so %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so %{_libdir}/%{name}/hw-usb-redirect.so %{_libdir}/%{name}/ui-opengl.so %{_libdir}/%{name}/ui-spice-app.so %{_libdir}/%{name}/ui-spice-core.so %endif %ifnarch loongarch64 %endif %files help %dir %{qemudocdir} %doc %{qemudocdir}/about %doc %{qemudocdir}/devel %doc %{qemudocdir}/interop %doc %{qemudocdir}/search* %doc %{qemudocdir}/_static %doc %{qemudocdir}/system %doc %{qemudocdir}/tools %doc %{qemudocdir}/user %doc %{qemudocdir}/README.rst %{_mandir}/man1/qemu.1* %{_mandir}/man1/qemu-img.1* %{_mandir}/man1/qemu-storage-daemon.1* %{_mandir}/man1/virtfs-proxy-helper.1* %{_mandir}/man7/qemu-block-drivers.7* %{_mandir}/man7/qemu-cpu-models.7* %{_mandir}/man7/qemu-ga-ref.7* %{_mandir}/man7/qemu-qmp-ref.7* %{_mandir}/man7/qemu-storage-daemon-qmp-ref.7* %{_mandir}/man8/qemu-ga.8* %{_mandir}/man8/qemu-nbd.8* %{_mandir}/man8/qemu-pr-helper.8* %files guest-agent %defattr(-,root,root,-) %{_bindir}/qemu-ga %{_unitdir}/qemu-guest-agent.service %{_udevdir}/99-qemu-guest-agent.rules %ghost %{_localstatedir}/log/qga-fsfreeze-hook.log %files img %{_bindir}/qemu-img %{_bindir}/qemu-io %{_bindir}/qemu-nbd %{_bindir}/qemu-storage-daemon %if %{with rbd} %files block-rbd %{_libdir}/%{name}/block-rbd.so %endif %files block-ssh %{_libdir}/%{name}/block-ssh.so %files block-iscsi %{_libdir}/%{name}/block-iscsi.so %files block-curl %{_libdir}/%{name}/block-curl.so %files hw-usb-host %{_libdir}/%{name}/hw-usb-host.so %ifarch %{ix86} x86_64 %files seabios %{_datadir}/%{name}/bios-256k.bin %{_datadir}/%{name}/bios.bin %endif %changelog * Tue Aug 13 2024 Jiabo Feng - 11:8.2.0-16 - nbd/server: CVE-2024-7409: Close stray clients at server-stop - nbd/server: CVE-2024-7409: Drop non-negotiating clients - nbd/server: CVE-2024-7409: Cap default max-connections to 100 - nbd/server: Plumb in new args to nbd_client_add() - nbd: Minor style and typo fixes * Thu Jul 11 2024 Jiabo Feng - 11:8.2.0-15 - block: Parse filenames only when explicitly requested (CVE-2024-4467) - iotests/270: Don't store data-file with json: prefix in image (CVE-2024-4467) - iotests/244: Don't store data-file with protocol in image (CVE-2024-4467) - qcow2: Don't open data_file with BDRV_O_NO_IO (CVE-2024-4467) - migration/dirtyrate: Fix segmentation fault - target/hexagon: idef-parser fix leak of init_list * Sat Jun 15 2024 Jiabo Feng - 11:8.2.0-14 - target/riscv/cpu.c: fix Zvkb extension config - target/i386: Add new Hygon 'Dharma' CPU model - target/i386: Add Hygon Dhyana-v3 CPU model - ui/gtk: Fix mouse/motion event scaling issue with GTK display backend - hw/ufs: Fix buffer overflow bug - arm/virt: Set vcpus_count of CPU as 1 to compatible with libvirt - ppc/pnv: I2C controller is not user creatablei * Mon May 20 2024 Song Gao - 11:8.2.0-13 - target/loongarch: Fix qemu-system-loongarch64 assert - target/loongarch: Fix qemu-loongarch64 hang when executing 'll.d $t0, $t0, 0' - target/loongarch: Fix tlb huge page loading issue - target/loongarch/kvm: Add software breakpoint support - target/loongarch/kvm: sync kernel header files - hw/intc/loongarch_extioi: Add virt extension support - target/loongarch/kvm: Add pmu support - target/loongarch/kvm: Fix vm restore failed - target/loongarch/kvm: Add pv steal time support - target/loongarch/kvm: fpu save the vreg registers high * Fri May 10 2024 zhangxianting - 11:8.2.0-12 - target/i386: Export RFDS bit to guests - target/i386: Add new CPU model SierraForest - target/i386: Introduce Icelake-Server-v7 to enable TSX - hw/isa/vt82c686: Keep track of PIRQ/PINT pins separately - kvm/arm: Fix compatibility of cold-plug CPU with SVE - arm/virt/acpi: Extend cpufreq to support max_cpus - kvm/arm: Fix SVE related logic for vcpu hotplug feature - arm/virt: Don't modify smp.max_cpus when vcpu hotplug disabled - acpi/cpu: Fix detection of present cpu * Mon Apr 22 2024 Jiabo Feng - 11:8.2.0-11 - hw/sd/sdhci: Do not update TRNMOD when Command Inhibit (DAT) is set(CVE-2024-3447) - hw/virtio/virtio-crypto: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/char/virtio-serial-bus: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/display/virtio-gpu: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/virtio: Introduce virtio_bh_new_guarded() helper - hw/net/net_tx_pkt: Fix overrun in update_sctp_checksum() - hw/nvme: fix -Werror=maybe-uninitialized - block/virtio-blk: Fix memory leak from virtio_blk_zone_report - hw/net/virtio-net: fix qemu set used ring flag even vhost started - hw/scsi/scsi-generic: Fix io_timeout property not applying - tests: bios-tables-test: Rename smbios type 4 related test functions * Thu Apr 18 2024 Tao Yang - 11:8.2.0-10 - add '--enable-slirp' compilation options * Wed Apr 17 2024 zhangxianting - 11:8.2.0-9 - remove chrpath * Wed Apr 17 2024 Jiabo Feng - 11:8.2.0-8 - include/ui/rect.h: fix qemu_rect_init() mis-assignment * Tue Apr 16 2024 Keqian Zhu - 11:8.2.0-7 - arm/virt: Use max_cpus to calculate redist1_count - arm/virt: Use separate filed to identify cpu-hotplug enable * Wed Apr 10 2024 Jiabo Feng - 11:8.2.0-6 - coro: support live patch for libcare - tests/acpi: Update expected ACPI tables for vcpu hotplug(Update BinDir) - arm/virt: Require mc->has_hotpluggable_cpus for cold-plugged vcpu - arm/virt: Consider has_ged when set mc->has_hotpluggable_cpus - arm/virt-acpi: Require possible_cpu_arch_ids for build_cpus_aml() - acpi/ged: Remove cpuhp field of ged - acpi/ged: Init cpu hotplug only when machine support it - intc/gicv3: Fixes for vcpu hotplug - arm/kvm: Set psci smccc filter only with vcpu hotplug - accel/kvm: Use correct id for parked vcpu - arm/virt: Fix adjudgement of core_id for vcpu hotplugged - arm/virt.c: Convey local_err when set psci-conduit - system/cpus: Fix resume_all_vcpus() under vCPU hotplug condition - system/cpus: Fix pause_all_vcpus() under concurrent environment - acpi/cpu: Fix cpu_hotplug_hw_init() - arm/cpu: Some fixes for arm_cpu_unrealizefn() - system/physmem: Fix possible double free when destroy cpu as - hw/arm/virt: Expose cold-booted CPUs as MADT GICC Enabled - tcg/mttcg: enable threads to unregister in tcg_ctxs[] - hw/arm: Support hotplug capability check using _OSC method - target/arm/kvm,tcg: Register/Handle SMCCC hypercall exits to VMM/Qemu - target/arm/kvm: Write CPU state back to KVM on reset - target/arm: Add support of *unrealize* ARMCPU during vCPU Hot-unplug - physmem,gdbstub: Common helping funcs/changes to *unrealize* vCPU - hw/arm: Changes required for reset and to support next boot - arm/virt: Update the guest(via GED) about CPU hot-(un)plug events - hw/intc/arm-gicv3*: Changes required to (re)init the vCPU register info - hw/arm,gicv3: Changes to update GIC with vCPU hot-plug notification - arm/virt: Changes to (un)wire GICC<->vCPU IRQs during hot-(un)plug - arm/virt: Add/update basic hot-(un)plug framework - hw/acpi: Update ACPI GED framework to support vCPU Hotplug - arm/virt: Release objects for *disabled* possible vCPUs after init - hw/acpi: Make _MAT method optional - hw/arm: MADT Tbl change to size the guest with possible vCPUs - hw/acpi: Update GED _EVT method AML with cpu scan - hw/acpi: ACPI/AML Changes to reflect the correct _STA.{PRES,ENA} Bits to Guest - arm/virt: Make ARM vCPU *present* status ACPI *persistent* - arm/virt/acpi: Build CPUs AML with CPU Hotplug support - tests/acpi/bios-tables-test: Allow changes to virt/DSDT file - acpi/cpu: Add cpu_cppc building support - arm/virt/acpi: Factor out CPPC building from DSDT CPU aml - hw/acpi: Update CPUs AML with cpu-(ctrl)dev change - arm/virt: Create GED dev before *disabled* CPU Objs are destroyed - arm/virt: Add cpu hotplug events to GED during creation - hw/acpi: Init GED framework with cpu hotplug events - hw/acpi: Use qemu_present_cpu() API in ACPI CPU hotplug init - hw/acpi: Add ACPI CPU hotplug init stub - arm/acpi: Enable ACPI support for vcpu hotplug - hw/acpi: Move CPU ctrl-dev MMIO region len macro to common header file - arm/virt: Init PMU at host for all possible vcpus - arm/virt,gicv3: Changes to pre-size GIC with possible vcpus @machine init - arm/virt,kvm: Pre-create disabled possible vCPUs @machine init - accel/kvm: Extract common KVM vCPU {creation,parking} code - arm/virt,target/arm: Machine init time change common to vCPU {cold|hot}-plug - hw/arm/virt: Move setting of common CPU properties in a function - cpus-common: Add common CPU utility for possible vCPUs - arm/virt,target/arm: Add new ARMCPU {socket,cluster,core,thread}-id property * Sun Apr 7 2024 Jiabo Feng - 11:8.2.0-5 - vfio/migration: Add support for manual clear vfio dirty log - vfio: Maintain DMA mapping range for the container - linux-headers: update against 5.10 and manual clear vfio dirty log series - arm/acpi: Fix when make qemu-system-aarch64 at x86_64 host bios_tables_test fail reason: __aarch64__ macro let build_pptt at x86_64 and aarch64 host build different function that let bios_tables_test fail. - pl031: support rtc-timer property for pl031 - feature: Add logs for vm start and destroy - feature: Add log for each modules - log: Add log at boot & cpu init for aarch64 - bugfix: irq: Avoid covering object refcount of qemu_irq - i386: cache passthrough: Update AMD 8000_001D.EAX[25:14] based on vCPU topo - freeclock: set rtc_date_diff for X86 - freeclock: set rtc_date_diff for arm - freeclock: add qmp command to get time offset of vm in seconds - tests: Disable filemonitor testcase - shadow_dev: introduce shadow dev for virtio-net device - pl011: reset read FIFO when UARTTIMSC=0 & UARTICR=0xffff - tests: virt: Update expected ACPI tables for virt test(Update BinDir) - arm64: Add the cpufreq device to show cpufreq info to guest - hw/arm64: add vcpu cache info support - tests: virt: Allow changes to PPTT test table - cpu: add Cortex-A72 processor kvm target support - cpu: add Kunpeng-920 cpu support - net: eepro100: validate various address valuesi(CVE-2021-20255) - ide: ahci: add check to avoid null dereference (CVE-2019-12067) - vdpa: set vring enable only if the vring address has already been set - docs: Add generic vhost-vdpa device documentation - vdpa: don't suspend/resume device when vdpa device not started - vdpa: correct param passed in when unregister save - vdpa: suspend function return 0 when the vdpa device is stopped - vdpa: support vdpa device suspend/resume - vdpa: move memory listener to the realize stage - vdpa: implement vdpa device migration - vhost: implement migration state notifier for vdpa device - vhost: implement post resume bh - vhost: implement savevm_handler for vdpa device - vhost: implement vhost_vdpa_device_suspend/resume - vhost: implement vhost-vdpa suspend/resume - vhost: add vhost_dev_suspend/resume_op - vhost: introduce bytemap for vhost backend logging - vhost-vdpa: add migration log ops for VhostOps - vhost-vdpa: add VHOST_BACKEND_F_BYTEMAPLOG - hw/usb: reduce the vpcu cost of UHCI when VNC disconnect - virtio-net: update the default and max of rx/tx_queue_size - virtio-net: set the max of queue size to 4096 - virtio-net: fix max vring buf size when set ring num - virtio-net: bugfix: do not delete netdev before virtio net - monitor: Discard BLOCK_IO_ERROR event when VM rebooted - vhost-user: add unregister_savevm when vhost-user cleanup - vhost-user: add vhost_set_mem_table when vm load_setup at destination - vhost-user: quit infinite loop while used memslots is more than the backend limit - fix qemu-core when vhost-user-net config with server mode - vhost-user: Add support reconnect vhost-user socket - vhost-user: Set the acked_features to vm's featrue - i6300esb watchdog: bugfix: Add a runstate transition - hw/net/rocker_of_dpa: fix double free bug of rocker device - net/dump.c: Suppress spurious compiler warning - pcie: Add pcie-root-port fast plug/unplug feature - pcie: Compat with devices which do not support Link Width, such as ioh3420 - qdev/monitors: Fix reundant error_setg of qdev_add_device - qemu-nbd: set timeout to qemu-nbd socket - qemu-nbd: make native as the default aio mode - nbd/server.c: fix invalid read after client was already free - virtio-scsi: bugfix: fix qemu crash for hotplug scsi disk with dataplane - virtio: bugfix: check the value of caches before accessing it - virtio: print the guest virtio_net features that host does not support - virtio: bugfix: add rcu_read_lock when vring_avail_idx is called - virtio: check descriptor numbers - migration: report multiFd related thread pid to libvirt - migration: report migration related thread pid to libvirt - cpu/features: fix bug for memory leakage - doc: Update multi-thread compression doc - migration: Add compress_level sanity check - migration: Add zstd support in multi-thread compression - migration: Add multi-thread compress ops - migration: Refactoring multi-thread compress migration - migration: Add multi-thread compress method - migration: skip cache_drop for bios bootloader and nvram template - oslib-posix: optimise vm startup time for 1G hugepage - monitor/qmp: drop inflight rsp if qmp client broken - ps2: fix oob in ps2 kbd - Currently, while kvm and qemu can not handle some kvm exit, qemu will do vm_stop, which will make vm in pause state. This action make vm unrecoverable, so send guest panic to libvirt instead. - vhost: cancel migration when vhost-user restarted during migraiton * Mon Apr 1 2024 Jiabo Feng - 11:8.2.0-4 - migration: Skip only empty block devicesi - iotests: adapt to output change for recently introduced 'detached hea… - travis-ci: Rename SOFTMMU -> SYSTEM - block: disallow block jobs when there is a BDRV_O_INACTIVE flag - [backup] memory: bakcup hugepages: hugepages files maybe leftover - memory: [backup] Modify the VM's physical bits value set policy. - ui/clipboard: mark type as not available when there is no data (CVE-2023-6683) - virtio-net: correctly copy vnet header when flushing TX (CVE-2023-6693) * Wed Mar 27 2024 Jiabo Feng - 11:8.2.0-3 - disable keyring option - loongarch: Change the UEFI loading mode to loongarch - target/loongarch: Fix qtest test-hmp error when KVM-only build - target/loongarch/kvm: Enable LSX/LASX extension - target/loongarch: Set cpuid CSR register only once with kvm mode - configure: Add linux header compile support for LoongArch - hw/intc/loongarch_extioi: Add vmstate post_load support - hw/intc/loongarch_extioi: Add dynamic cpu number support - hw/loongarch/virt: Set iocsr address space per-board rather than percpu - hw/intc/loongarch_ipi: Use MemTxAttrs interface for ipi ops - target/loongarch: Add loongarch kvm into meson build - target/loongarch: Implement set vcpu intr for kvm - target/loongarch: Restrict TCG-specific code - target/loongarch: Implement kvm_arch_handle_exit - target/loongarch: Implement kvm_arch_init_vcpu - target/loongarch: Implement kvm_arch_init function - target/loongarch: Implement kvm get/set registers - target/loongarch: Supplement vcpu env initial when vcpu reset - target/loongarch: Define some kvm_arch interfaces - linux-headers: Synchronize linux headers from linux v6.7.0-rc8 - linux-headers: Update to Linux v6.7-rc5 - target/loongarch: move translate modules to tcg/ - target/loongarch/meson: move gdbstub.c to loongarch.ss - target/loongarch: Add timer information dump support - hw/loongarch/virt: Align high memory base address with super page size * Sat Mar 23 2024 Jiabo Feng - 11:8.2.0-2 - block: bugfix: Don't pause vm when NOSPACE EIO happened - block: enable cache mode of empty cdrom - block/mirror: fix file-system went to read-only after block-mirror - scsi-bus: fix incorrect call for blk_error_retry_reset_timeout() - scsi-bus: fix unmatched object_unref() - block: Add sanity check when setting retry parameters - block-backend: Stop retrying when draining - scsi-disk: Add support for retry on errors - scsi-bus: Refactor the code that retries requests - virtio_blk: Add support for retry on errors - block: Add error retry param setting - block-backend: Add timeout support for retry - block-backend: Enable retry action on errors - block-backend: Add device specific retry callback - block-backend: Introduce retry timer - qapi/block-core: Add retry option for error action - scsi: bugfix: fix division by zero - scsi: cdrom: Fix crash after remote cdrom detached - qemu-pr: fixed ioctl failed for multipath disk - scsi-disk: define props in scsi_block_disk to avoid memleaks - bugfix: fix possible memory leak - bugfix: fix some illegal memory access and memory leak - util/log: add CONFIG_DISABLE_QEMU_LOG macro - log: Add some logs on VM runtime path - bugfix: fix eventfds may double free when vm_id reused in ivshmem - hw/display/macfb: Fix missing ERRP_GUARD() in macfb_nubus_realize() - hw/cxl/cxl-host: Fix missing ERRP_GUARD() in cxl_fixed_memory_window_config() - qemu-img create: 'cache' paramter only use for reg file image - qemu-img: add qemu-img direct create - qemu-img block: set zero flags only when discard_zeros of the block supported - Revert "file-posix: Remove unused s->discard_zeroes" - pcie_sriov: Validate NumVFs (CVE-2024-26327) - hw/nvme: Use pcie_sriov_num_vfs() (CVE-2024-26328) - hw/acpi/cpu: Use CPUState typedef - target/i386/sev: Fix missing ERRP_GUARD() for error_prepend() - virtio-gpu: remove needless condition - hw/i2c/smbus_slave: Add object path on error prints - vfio/pci: Ascend710 change to bar2 quirk - vfio/pci: Ascend910 need 4Bytes quirk in bar0 - vfio/pci: Ascend710 need 4Bytes quirk in bar0 - vfio/pci: Ascend310 need 4Bytes quirk in bar4 - chardev/char-socket: Fix TLS io channels sending too much data to the backend - i386/cpuid: Move leaf 7 to correct group - i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F - i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs - i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available - blkio: Respect memory-alignment for bounce buffer allocations - virtio-gpu: Correct virgl_renderer_resource_get_info() error check - hw/usb: Style cleanup - tests/qemu-iotests: resolved the problem that the 108 test cases in the container fail * Thu Feb 29 2024 Tao Yang - 11:8.2.0-1 - Package init