2019-09-30 11:15:46 -04:00
|
|
|
Name: qemu
|
2020-05-12 10:31:40 +08:00
|
|
|
Version: 4.1.0
|
2020-06-20 15:39:31 +08:00
|
|
|
Release: 14
|
2019-09-30 11:15:46 -04:00
|
|
|
Epoch: 2
|
|
|
|
|
Summary: QEMU is a generic and open source machine emulator and virtualizer
|
|
|
|
|
License: GPLv2 and BSD and MIT and CC-BY
|
|
|
|
|
URL: http://www.qemu.org
|
|
|
|
|
Source0: https://www.qemu.org/download/%{name}-%{version}%{?rcstr}.tar.xz
|
2019-11-06 19:50:55 +08:00
|
|
|
Source1: 80-kvm.rules
|
|
|
|
|
Source2: 99-qemu-guest-agent.rules
|
|
|
|
|
Source3: bridge.conf
|
2019-09-30 11:15:46 -04:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
Patch0001: pl011-reset-read-FIFO-when-UARTTIMSC-0-UARTICR-0xfff.patch
|
|
|
|
|
Patch0002: pl031-support-rtc-timer-property-for-pl031.patch
|
|
|
|
|
Patch0003: vhost-cancel-migration-when-vhost-user-restarted.patch
|
|
|
|
|
Patch0004: qcow2-fix-memory-leak-in-qcow2_read_extensions.patch
|
|
|
|
|
Patch0005: bios-tables-test-prepare-to-change-ARM-virt-ACPI-DSDT.patch
|
|
|
|
|
Patch0006: hw-arm-expose-host-CPU-frequency-info-to-guest.patch
|
|
|
|
|
Patch0007: smbios-Add-missing-member-of-type-4-for-smbios-3.0.patch
|
|
|
|
|
Patch0008: tests-bios-tables-test-disable-this-testcase.patch
|
|
|
|
|
Patch0009: hw-arm-virt-Introduce-cpu-topology-support.patch
|
|
|
|
|
Patch0010: hw-arm64-add-vcpu-cache-info-support.patch
|
|
|
|
|
Patch0011: xhci-Fix-memory-leak-in-xhci_address_slot.patch
|
|
|
|
|
Patch0012: xhci-Fix-memory-leak-in-xhci_kick_epctx.patch
|
|
|
|
|
Patch0013: ehci-fix-queue-dev-null-ptr-dereference.patch
|
|
|
|
|
Patch0014: util-async-hold-AioContext-ref-to-prevent-use-after-free.patch
|
|
|
|
|
Patch0015: vhost-user-scsi-prevent-using-uninitialized-vqs.patch
|
|
|
|
|
Patch0016: cpu-add-Kunpeng-920-cpu-support.patch
|
|
|
|
|
Patch0017: cpu-parse-feature-to-avoid-failure.patch
|
|
|
|
|
Patch0018: cpu-add-Cortex-A72-processor-kvm-target-support.patch
|
|
|
|
|
Patch0019: pcie-disable-the-PCI_EXP_LINKSTA_DLLA-cap.patch
|
|
|
|
|
Patch0020: vnc-fix-memory-leak-when-vnc-disconnect.patch
|
|
|
|
|
Patch0021: linux-headers-update-against-KVM-ARM-Fix-256-vcpus.patch
|
|
|
|
|
Patch0022: intc-arm_gic-Support-IRQ-injection-for-more-than-256.patch
|
|
|
|
|
Patch0023: ARM-KVM-Check-KVM_CAP_ARM_IRQ_LINE_LAYOUT_2-for-smp.patch
|
|
|
|
|
Patch0024: 9pfs-local-Fix-possible-memory-leak-in-local_link.patch
|
|
|
|
|
Patch0025: scsi-disk-define-props-in-scsi_block_disk-to-avoid-memleaks.patch
|
|
|
|
|
Patch0026: arm-translate-a64-fix-uninitialized-variable-warning.patch
|
|
|
|
|
Patch0027: nbd-fix-uninitialized-variable-warning.patch
|
|
|
|
|
Patch0028: xhci-Fix-memory-leak-in-xhci_kick_epctx-when-poweroff.patch
|
|
|
|
|
Patch0029: block-fix-memleaks-in-bdrv_refresh_filename.patch
|
|
|
|
|
Patch0030: iscsi-Cap-block-count-from-GET-LBA-STATUS-CVE-2020-1.patch
|
|
|
|
|
Patch0031: tcp_emu-Fix-oob-access.patch
|
|
|
|
|
Patch0032: slirp-use-correct-size-while-emulating-IRC-commands.patch
|
|
|
|
|
Patch0033: slirp-use-correct-size-while-emulating-commands.patch
|
|
|
|
|
Patch0034: util-add-slirp_fmt-helpers.patch
|
|
|
|
|
Patch0035: tcp_emu-fix-unsafe-snprintf-usages.patch
|
|
|
|
|
Patch0036: block-iscsi-use-MIN-between-mx_sb_len-and-sb_len_wr.patch
|
|
|
|
|
Patch0037: monitor-fix-memory-leak-in-monitor_fdset_dup_fd_find.patch
|
|
|
|
|
Patch0038: memory-Align-MemoryRegionSections-fields.patch
|
|
|
|
|
Patch0039: memory-Provide-an-equality-function-for-MemoryRegion.patch
|
2020-03-16 21:45:30 +08:00
|
|
|
Patch0040: vhost-Fix-memory-region-section-comparison.patch
|
2020-05-12 10:31:40 +08:00
|
|
|
Patch0041: file-posix-Handle-undetectable-alignment.patch
|
|
|
|
|
Patch0042: block-backup-fix-max_transfer-handling-for-copy_rang.patch
|
|
|
|
|
Patch0043: block-backup-fix-backup_cow_with_offload-for-last-cl.patch
|
|
|
|
|
Patch0044: qcow2-Limit-total-allocation-range-to-INT_MAX.patch
|
|
|
|
|
Patch0045: mirror-Do-not-dereference-invalid-pointers.patch
|
|
|
|
|
Patch0046: COLO-compare-Fix-incorrect-if-logic.patch
|
|
|
|
|
Patch0047: qcow2-bitmap-Fix-uint64_t-left-shift-overflow.patch
|
|
|
|
|
Patch0048: pcie-Add-pcie-root-port-fast-plug-unplug-feature.patch
|
|
|
|
|
Patch0049: pcie-Compat-with-devices-which-do-not-support-Link-W.patch
|
|
|
|
|
Patch0050: aio-wait-delegate-polling-of-main-AioContext-if-BQL-not-held.patch
|
|
|
|
|
Patch0051: async-use-explicit-memory-barriers.patch
|
2020-04-17 18:12:50 +08:00
|
|
|
Patch0052: dma-helpers-ensure-AIO-callback-is-invoked-after-can.patch
|
|
|
|
|
Patch0053: Revert-ide-ahci-Check-for-ECANCELED-in-aio-callbacks.patch
|
|
|
|
|
Patch0054: pc-Don-t-make-die-id-mandatory-unless-necessary.patch
|
|
|
|
|
Patch0055: block-file-posix-Reduce-xfsctl-use.patch
|
|
|
|
|
Patch0056: pr-manager-Fix-invalid-g_free-crash-bug.patch
|
|
|
|
|
Patch0057: x86-do-not-advertise-die-id-in-query-hotpluggbale-cp.patch
|
|
|
|
|
Patch0058: vpc-Return-0-from-vpc_co_create-on-success.patch
|
|
|
|
|
Patch0059: target-arm-Free-TCG-temps-in-trans_VMOV_64_sp.patch
|
|
|
|
|
Patch0060: target-arm-Don-t-abort-on-M-profile-exception-return.patch
|
|
|
|
|
Patch0061: libvhost-user-fix-SLAVE_SEND_FD-handling.patch
|
|
|
|
|
Patch0062: qcow2-Fix-the-calculation-of-the-maximum-L2-cache-si.patch
|
|
|
|
|
Patch0063: block-nfs-tear-down-aio-before-nfs_close.patch
|
|
|
|
|
Patch0064: blockjob-update-nodes-head-while-removing-all-bdrv.patch
|
|
|
|
|
Patch0065: block-qcow2-Fix-corruption-introduced-by-commit-8ac0.patch
|
|
|
|
|
Patch0066: coroutine-Add-qemu_co_mutex_assert_locked.patch
|
|
|
|
|
Patch0067: qcow2-Fix-corruption-bug-in-qcow2_detect_metadata_pr.patch
|
|
|
|
|
Patch0068: hw-arm-boot.c-Set-NSACR.-CP11-CP10-for-NS-kernel-boo.patch
|
|
|
|
|
Patch0069: make-release-pull-in-edk2-submodules-so-we-can-build.patch
|
|
|
|
|
Patch0070: roms-Makefile.edk2-don-t-pull-in-submodules-when-bui.patch
|
|
|
|
|
Patch0071: block-snapshot-Restrict-set-of-snapshot-nodes.patch
|
|
|
|
|
Patch0072: vhost-user-save-features-if-the-char-dev-is-closed.patch
|
|
|
|
|
Patch0073: hw-core-loader-Fix-possible-crash-in-rom_copy.patch
|
|
|
|
|
Patch0074: ui-Fix-hanging-up-Cocoa-display-on-macOS-10.15-Catal.patch
|
|
|
|
|
Patch0075: virtio-new-post_load-hook.patch
|
|
|
|
|
Patch0076: virtio-net-prevent-offloads-reset-on-migration.patch
|
|
|
|
|
Patch0077: util-hbitmap-strict-hbitmap_reset.patch
|
|
|
|
|
Patch0078: hbitmap-handle-set-reset-with-zero-length.patch
|
|
|
|
|
Patch0079: target-arm-Allow-reading-flags-from-FPSCR-for-M-prof.patch
|
|
|
|
|
Patch0080: scsi-lsi-exit-infinite-loop-while-executing-script-C.patch
|
|
|
|
|
Patch0081: virtio-blk-Cancel-the-pending-BH-when-the-dataplane-.patch
|
|
|
|
|
Patch0082: qcow2-Fix-QCOW2_COMPRESSED_SECTOR_MASK.patch
|
|
|
|
|
Patch0083: util-iov-introduce-qemu_iovec_init_extended.patch
|
|
|
|
|
Patch0084: util-iov-improve-qemu_iovec_is_zero.patch
|
|
|
|
|
Patch0085: block-io-refactor-padding.patch
|
|
|
|
|
Patch0086: block-Make-wait-mark-serialising-requests-public.patch
|
|
|
|
|
Patch0087: block-Add-bdrv_co_get_self_request.patch
|
|
|
|
|
Patch0088: block-file-posix-Let-post-EOF-fallocate-serialize.patch
|
|
|
|
|
Patch0089: block-posix-Always-allocate-the-first-block.patch
|
|
|
|
|
Patch0090: block-create-Do-not-abort-if-a-block-driver-is-not-a.patch
|
|
|
|
|
Patch0091: mirror-Keep-mirror_top_bs-drained-after-dropping-per.patch
|
target/arm/kvm: Adjust virtual time
v3:
- Added a target/arm/kvm_arm.h comment cleanup patch (1/6)
- Minor refactoring of assert_has_feature_enabled/disabled in 4/6,
kept Richard's r-b.
- Rewrote kvm-no-adjvtime documentation in 6/6.
- Reworked approach in 5/6 to properly deal with migration and to
track running vs. !running, rather than running vs. paused states.
v2:
- Reworked it enough that I brought back the RFC tag and retitled the
series. Also had to drop r-b's from a couple of patches, and even
drop patches.
- Changed approach from writing the QEMU virtual time to the guest
vtime counter to saving and restoring the guest vtime counter.
- Changed the kvm-adjvtime property, which was off by default, to a
kvm-no-adjvtime property, which is also off by default, meaning the
effective "adjust vtime" property is now on by default (but only
for 5.0 virt machine types and later)
v1:
- move from RFC status to v1
- put kvm_arm_vm_state_change() in kvm.c to share among kvm32.c and kvm64.c
- add r-b's from Richard
This series is inspired by a series[1] posted by Bijan Mottahedeh over
a year ago and by the patch[2] posted by Heyi Guo almost a year ago.
The problem described in the cover letter of [1] is easily reproducible
and some users would like to have the option to avoid it. However the
solution, which is to adjust the virtual counter each time the VM
transitions to the running state, introduces a different problem, which
is that the virtual and physical counters diverge. As described in the
cover letter of [1] this divergence is easily observed when comparing
the output of `date` and `hwclock` after suspending the guest, waiting
a while, and then resuming it. Because this different problem may actually
be worse for some users, unlike [1], the series posted here makes the
virtual counter adjustment optional. Besides the adjustment being
optional, this series approaches the needed changes differently to apply
them in more appropriate locations.
Additional notes
----------------
Note 1
------
As described above, when running a guest with kvm-no-adjtime disabled
it will be less likely the guest OS and guest applications get surprise
time jumps when they use the virtual counter. However the counter will
no longer reflect real time. It will lag behind. If this is a problem
then the guest can resynchronize its time from an external source or
even from its physical counter. If the suspend/resume is done with
libvirt's virsh, and the guest is running the guest agent, then it's
also possible to use a sequence like this
$ virsh suspend $GUEST
$ virsh resume $GUEST
$ virsh domtime --sync $GUEST
in order to resynchronize a guest right after the resume. Of course
there will still be time when the clock is not right, possibly creating
confusing timestamps in logs, for example, and the guest must still be
tolerant to the time synchronizations.
Note 2
------
Userspace that wants to set KVM_REG_ARM_TIMER_CNT should beware that
the KVM register ID is not correct. This cannot be fixed because it's
UAPI and if the UAPI headers are used then it can't be a problem.
However, if a userspace attempts to create the ID themselves from the
register's specification, then they will get KVM_REG_ARM_TIMER_CVAL
instead, as the _CNT and _CVAL definitions have their register
parameters swapped.
Note 3
------
I didn't test this with a 32-bit KVM host, but the changes to kvm32.c
are the same as kvm64.c. So what could go wrong? Test results would be
appreciated.
[1] https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg05713.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg03695.html
upstream url:
https://patchwork.kernel.org/cover/11341629/
2020-04-22 11:17:47 +08:00
|
|
|
Patch0092: target-arm-kvm-trivial-Clean-up-header-documentation.patch
|
|
|
|
|
Patch0093: target-arm-kvm64-kvm64-cpus-have-timer-registers.patch
|
|
|
|
|
Patch0094: target-arm-kvm-Implement-virtual-time-adjustment.patch
|
|
|
|
|
Patch0095: target-arm-cpu-Add-the-kvm-no-adjvtime-CPU-property.patch
|
2020-04-22 21:52:05 +08:00
|
|
|
Patch0096: hw-acpi-Make-ACPI-IO-address-space-configurable.patch
|
|
|
|
|
Patch0097: hw-acpi-Do-not-create-memory-hotplug-method-when-han.patch
|
|
|
|
|
Patch0098: hw-acpi-Add-ACPI-Generic-Event-Device-Support.patch
|
|
|
|
|
Patch0099: hw-arm-virt-Add-memory-hotplug-framework.patch
|
|
|
|
|
Patch0100: hw-arm-virt-Enable-device-memory-cold-hot-plug-with-.patch
|
|
|
|
|
Patch0101: hw-arm-virt-acpi-build-Add-PC-DIMM-in-SRAT.patch
|
|
|
|
|
Patch0102: hw-arm-Factor-out-powerdown-notifier-from-GPIO.patch
|
|
|
|
|
Patch0103: hw-arm-Use-GED-for-system_powerdown-event.patch
|
|
|
|
|
Patch0104: docs-specs-Add-ACPI-GED-documentation.patch
|
|
|
|
|
Patch0105: tests-Update-ACPI-tables-list-for-upcoming-arm-virt-.patch
|
|
|
|
|
Patch0106: tests-acpi-add-empty-files.patch
|
|
|
|
|
Patch0107: tests-allow-empty-expected-files.patch
|
|
|
|
|
Patch0108: tests-Add-bios-tests-to-arm-virt.patch
|
|
|
|
|
Patch0109: tests-document-how-to-update-acpi-tables.patch
|
2020-04-22 21:59:17 +08:00
|
|
|
Patch0110: hw-arm-virt-Simplify-by-moving-the-gic-in-the-machin.patch
|
|
|
|
|
Patch0111: bugfix-Use-gicr_typer-in-arm_gicv3_icc_reset.patch
|
|
|
|
|
Patch0112: Typo-Correct-the-name-of-CPU-hotplug-memory-region.patch
|
|
|
|
|
Patch0113: acpi-madt-Factor-out-the-building-of-MADT-GICC-struc.patch
|
|
|
|
|
Patch0114: acpi-ged-Add-virt_madt_cpu_entry-to-madt_cpu-hook.patch
|
|
|
|
|
Patch0115: arm-virt-acpi-Factor-out-CPPC-building-from-DSDT-CPU.patch
|
|
|
|
|
Patch0116: acpi-cpu-Prepare-build_cpus_aml-for-arm-virt.patch
|
|
|
|
|
Patch0117: acpi-ged-Extend-ACPI-GED-to-support-CPU-hotplug.patch
|
|
|
|
|
Patch0118: arm-cpu-assign-arm_get_arch_id-handler-to-get_arch_i.patch
|
|
|
|
|
Patch0119: arm-virt-Attach-ACPI-CPU-hotplug-support-to-virt.patch
|
|
|
|
|
Patch0120: arm-virt-Add-CPU-hotplug-framework.patch
|
|
|
|
|
Patch0121: arm-virt-Add-CPU-topology-support.patch
|
|
|
|
|
Patch0122: test-numa-Adjust-aarch64-numa-test.patch
|
|
|
|
|
Patch0123: hw-arm-virt-Factor-out-some-CPU-init-codes-to-pre_pl.patch
|
|
|
|
|
Patch0124: hw-arm-boot-Add-manually-register-and-trigger-of-CPU.patch
|
|
|
|
|
Patch0125: arm-virt-gic-Construct-irqs-connection-from-create_g.patch
|
|
|
|
|
Patch0126: intc-gicv3_common-Factor-out-arm_gicv3_common_cpu_re.patch
|
|
|
|
|
Patch0127: intc-gicv3_cpuif-Factor-out-gicv3_init_one_cpuif.patch
|
|
|
|
|
Patch0128: intc-kvm_gicv3-Factor-out-kvm_arm_gicv3_cpu_realize.patch
|
|
|
|
|
Patch0129: hw-intc-gicv3-Add-CPU-hotplug-realize-hook.patch
|
|
|
|
|
Patch0130: accel-kvm-Add-pre-park-vCPU-support.patch
|
|
|
|
|
Patch0131: intc-gicv3-Add-pre-sizing-capability-to-GICv3.patch
|
|
|
|
|
Patch0132: acpi-madt-Add-pre-sizing-capability-to-MADT-GICC-str.patch
|
|
|
|
|
Patch0133: arm-virt-Add-cpu_hotplug_enabled-field.patch
|
|
|
|
|
Patch0134: arm-virt-acpi-Extend-cpufreq-to-support-max_cpus.patch
|
|
|
|
|
Patch0135: arm-virt-Pre-sizing-MADT-GICC-PPTT-GICv3-and-Pre-par.patch
|
|
|
|
|
Patch0136: arm-virt-Add-some-sanity-checks-in-cpu_pre_plug-hook.patch
|
|
|
|
|
Patch0137: arm-virt-Start-up-CPU-hot-plug.patch
|
2020-04-24 15:37:03 +08:00
|
|
|
Patch0138: migration-always-initialise-ram_counters-for-a-new-m.patch
|
|
|
|
|
Patch0139: migration-add-qemu_file_update_transfer-interface.patch
|
|
|
|
|
Patch0140: migration-add-speed-limit-for-multifd-migration.patch
|
|
|
|
|
Patch0141: migration-update-ram_counters-for-multifd-sync-packe.patch
|
|
|
|
|
Patch0142: migration-Make-global-sem_sync-semaphore-by-channel.patch
|
|
|
|
|
Patch0143: migration-multifd-fix-nullptr-access-in-terminating-m.patch
|
|
|
|
|
Patch0144: migration-Maybe-VM-is-paused-when-migration-is-cance.patch
|
|
|
|
|
Patch0145: migration-multifd-fix-potential-wrong-acception-orde.patch
|
|
|
|
|
Patch0146: migration-multifd-fix-destroyed-mutex-access-in-term.patch
|
|
|
|
|
Patch0147: migration-multifd-fix-nullptr-access-in-multifd_send.patch
|
2020-05-08 12:45:21 +08:00
|
|
|
Patch0148: vtimer-compat-cross-version-migration-from-v4.0.1.patch
|
2020-05-09 16:17:17 +08:00
|
|
|
Patch0149: migration-ram-Do-error_free-after-migrate_set_error-.patch
|
|
|
|
|
Patch0150: migration-ram-fix-memleaks-in-multifd_new_send_chann.patch
|
|
|
|
|
Patch0151: migration-rdma-fix-a-memleak-on-error-path-in-rdma_s.patch
|
2020-05-12 17:18:54 +08:00
|
|
|
Patch0152: arm-virt-Support-CPU-cold-plug.patch
|
2020-05-15 15:33:14 +08:00
|
|
|
Patch0153: ide-Fix-incorrect-handling-of-some-PRDTs-in-ide_dma_.patch
|
2020-05-15 15:47:11 +08:00
|
|
|
Patch0154: ati-vga-Fix-checks-in-ati_2d_blt-to-avoid-crash.patch
|
2020-05-15 16:51:37 +08:00
|
|
|
Patch0155: slirp-tftp-restrict-relative-path-access.patch
|
2020-05-22 11:17:40 +08:00
|
|
|
Patch0156: ip_reass-Fix-use-after-free.patch
|
2020-05-22 12:29:21 +08:00
|
|
|
Patch0157: bt-use-size_t-type-for-length-parameters-instead-of-.patch
|
2020-05-22 19:09:28 +08:00
|
|
|
Patch0158: log-Add-some-logs-on-VM-runtime-path.patch
|
2020-05-27 11:35:14 +08:00
|
|
|
Patch0159: Revert-vtimer-compat-cross-version-migration-from-v4.patch
|
2020-05-27 11:37:33 +08:00
|
|
|
Patch0160: ARM64-record-vtimer-tick-when-cpu-is-stopped.patch
|
2020-05-27 11:41:47 +08:00
|
|
|
Patch0161: hw-arm-virt-add-missing-compat-for-kvm-no-adjvtime.patch
|
2020-05-27 11:45:35 +08:00
|
|
|
Patch0162: migration-Compat-virtual-timer-adjust-for-v4.0.1-and.patch
|
2020-05-27 17:53:46 +08:00
|
|
|
Patch0163: vtimer-Drop-vtimer-virtual-timer-adjust.patch
|
2020-05-29 11:15:45 +08:00
|
|
|
Patch0164: target-arm-Add-the-kvm_adjvtime-vcpu-property-for-Co.patch
|
2020-06-20 15:39:31 +08:00
|
|
|
Patch0165: target-arm-Fix-PAuth-sbox-functions.patch
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
BuildRequires: flex
|
|
|
|
|
BuildRequires: bison
|
|
|
|
|
BuildRequires: texinfo
|
|
|
|
|
BuildRequires: perl-podlators
|
|
|
|
|
BuildRequires: kernel
|
|
|
|
|
BuildRequires: chrpath
|
|
|
|
|
BuildRequires: gettext
|
2020-02-21 18:27:32 +08:00
|
|
|
BuildRequires: python-sphinx
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
BuildRequires: zlib-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: brlapi-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
|
2019-12-13 16:06:06 +08:00
|
|
|
%ifarch aarch64
|
|
|
|
|
BuildRequires: libfdt-devel
|
|
|
|
|
BuildRequires: virglrenderer-devel
|
|
|
|
|
%endif
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
2019-12-13 16:06:06 +08:00
|
|
|
%ifarch %{ix86} x86_64
|
|
|
|
|
%package seabios
|
|
|
|
|
Summary: QEMU seabios
|
|
|
|
|
%description seabios
|
|
|
|
|
This package include bios-256k.bin and bios.bin of seabios
|
|
|
|
|
%endif
|
|
|
|
|
|
2019-09-30 11:15:46 -04:00
|
|
|
%prep
|
|
|
|
|
%setup -q -n qemu-%{version}%{?rcstr}
|
|
|
|
|
%autopatch -p1
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
buildarch="x86_64-softmmu"
|
|
|
|
|
%endif
|
|
|
|
|
%ifarch aarch64
|
|
|
|
|
buildarch="aarch64-softmmu"
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
|
|
|
|
|
|
|
|
./configure \
|
|
|
|
|
--prefix=%{_prefix} \
|
|
|
|
|
--target-list=${buildarch} \
|
2020-02-06 10:00:57 +08:00
|
|
|
--extra-cflags="%{optflags} -fPIE -DPIE -fPIC" \
|
2019-09-30 11:15:46 -04:00
|
|
|
--extra-ldflags="-Wl,--build-id -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack" \
|
|
|
|
|
--datadir=%{_datadir} \
|
|
|
|
|
--docdir=%{_docdir}/%{name} \
|
|
|
|
|
--libdir=%{_libdir} \
|
|
|
|
|
--libexecdir=%{_libexecdir} \
|
|
|
|
|
--localstatedir=%{_localstatedir} \
|
|
|
|
|
--sysconfdir=%{_sysconfdir} \
|
|
|
|
|
--interp-prefix=%{_prefix}/qemu-%%M \
|
|
|
|
|
--firmwarepath=%{_datadir}/%{name} \
|
|
|
|
|
--with-pkgversion=%{name}-%{version}-%{release} \
|
2020-02-26 10:50:49 +08:00
|
|
|
--python=/usr/bin/python3 \
|
2019-09-30 11:15:46 -04:00
|
|
|
--disable-strip \
|
|
|
|
|
--disable-werror \
|
|
|
|
|
--disable-slirp \
|
|
|
|
|
--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-cap-ng \
|
|
|
|
|
--enable-vhost-user \
|
2019-12-13 16:06:06 +08:00
|
|
|
%ifarch aarch64
|
|
|
|
|
--enable-fdt \
|
2019-09-30 11:15:46 -04:00
|
|
|
--enable-virglrenderer \
|
2019-12-13 16:06:06 +08:00
|
|
|
%endif
|
2019-09-30 11:15:46 -04:00
|
|
|
--enable-cap-ng \
|
|
|
|
|
--enable-libusb \
|
|
|
|
|
--disable-bluez \
|
|
|
|
|
--disable-dmg \
|
|
|
|
|
--disable-qcow1 \
|
|
|
|
|
--disable-vdi \
|
|
|
|
|
--disable-vvfat \
|
|
|
|
|
--disable-qed \
|
|
|
|
|
--disable-parallels \
|
|
|
|
|
--disable-sheepdog \
|
|
|
|
|
--disable-capstone \
|
|
|
|
|
--disable-smartcard
|
|
|
|
|
|
|
|
|
|
make %{?_smp_mflags} $buildldflags V=1
|
|
|
|
|
|
|
|
|
|
cp -a ${buildarch}/qemu-system-* qemu-kvm
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
|
|
|
|
|
make %{?_smp_mflags} DESTDIR=%{buildroot} \
|
|
|
|
|
install
|
|
|
|
|
|
|
|
|
|
%find_lang %{name}
|
|
|
|
|
install -m 0755 qemu-kvm %{buildroot}%{_libexecdir}/
|
2019-11-06 19:50:55 +08:00
|
|
|
ln -s %{_libexecdir}/qemu-kvm %{buildroot}/%{_bindir}/qemu-kvm
|
|
|
|
|
|
|
|
|
|
rm %{buildroot}/%{_bindir}/qemu-system-*
|
2019-09-30 11:15:46 -04:00
|
|
|
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
|
2019-11-06 19:50:55 +08:00
|
|
|
install -D -m 0644 %{_sourcedir}/80-kvm.rules %{buildroot}/usr/lib/udev/rules.d/80-kvm.rules
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
# For qemu docs package
|
2019-09-30 11:15:46 -04:00
|
|
|
%global qemudocdir %{_docdir}/%{name}
|
2020-05-12 10:31:40 +08:00
|
|
|
rm -rf %{buildroot}%{qemudocdir}/specs
|
2019-09-30 11:15:46 -04:00
|
|
|
install -D -p -m 0644 -t %{buildroot}%{qemudocdir} Changelog README COPYING COPYING.LIB LICENSE
|
|
|
|
|
chmod -x %{buildroot}%{_mandir}/man1/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%ifarch aarch64
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/vgabios*bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/bios*.bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/linuxboot.bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/kvmvapic.bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/sgabios.bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/multiboot.bin
|
2020-03-17 16:48:40 +08:00
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/linuxboot_dma.bin
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/pvh.bin
|
2019-09-30 11:15:46 -04:00
|
|
|
%endif
|
2020-05-12 10:31:40 +08:00
|
|
|
%ifarch x86_64
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/vgabios-ati.bin
|
|
|
|
|
%endif
|
2019-09-30 11:15:46 -04:00
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/openbios-*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/slof.bin
|
|
|
|
|
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}/ppc_*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/qemu_vga.ndrv
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/s390-*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/skiboot.lid
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/spapr-*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/u-boot*
|
|
|
|
|
rm -rf %{buildroot}%{_bindir}/ivshmem*
|
2020-05-12 10:31:40 +08:00
|
|
|
rm -f %{buildroot}%{_datadir}/%{name}/edk2*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/firmware
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/opensbi*
|
|
|
|
|
rm -rf %{buildroot}%{_datadir}/%{name}/qemu-nsis.bmp
|
|
|
|
|
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
for f in %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/* \
|
|
|
|
|
%{buildroot}%{_libexecdir}/*; do
|
|
|
|
|
if file $f | grep -q ELF | grep -q -i shared; then chrpath --delete $f; fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
make check V=1
|
|
|
|
|
|
|
|
|
|
%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
|
2019-11-06 19:50:55 +08:00
|
|
|
%{_bindir}/qemu-kvm
|
2019-09-30 11:15:46 -04:00
|
|
|
%{_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}/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
|
|
|
|
|
%{_bindir}/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
|
2019-11-06 19:50:55 +08:00
|
|
|
/usr/lib/udev/rules.d/80-kvm.rules
|
|
|
|
|
%doc %{qemudocdir}/COPYING
|
|
|
|
|
%doc %{qemudocdir}/COPYING.LIB
|
|
|
|
|
%doc %{qemudocdir}/LICENSE
|
2019-09-30 11:15:46 -04:00
|
|
|
%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
|
2020-03-17 16:48:40 +08:00
|
|
|
%{_datadir}/%{name}/linuxboot_dma.bin
|
|
|
|
|
%{_datadir}/%{name}/pvh.bin
|
2019-09-30 11:15:46 -04:00
|
|
|
%{_datadir}/%{name}/multiboot.bin
|
|
|
|
|
%{_datadir}/%{name}/kvmvapic.bin
|
|
|
|
|
%{_datadir}/%{name}/sgabios.bin
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files help
|
|
|
|
|
%dir %{qemudocdir}
|
|
|
|
|
%doc %{qemudocdir}/qemu-doc.html
|
|
|
|
|
%doc %{qemudocdir}/qemu-doc.txt
|
|
|
|
|
%doc %{qemudocdir}/qemu-ga-ref.html
|
|
|
|
|
%doc %{qemudocdir}/qemu-ga-ref.txt
|
|
|
|
|
%doc %{qemudocdir}/qemu-qmp-ref.html
|
|
|
|
|
%doc %{qemudocdir}/qemu-qmp-ref.txt
|
2020-02-21 18:27:32 +08:00
|
|
|
%doc %{qemudocdir}/interop
|
2019-09-30 11:15:46 -04:00
|
|
|
%doc %{qemudocdir}/README
|
|
|
|
|
%doc %{qemudocdir}/Changelog
|
|
|
|
|
%{_mandir}/man1/qemu.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}/man1/qemu-img.1*
|
|
|
|
|
%{_mandir}/man8/qemu-nbd.8*
|
|
|
|
|
|
|
|
|
|
%files guest-agent
|
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
%{_bindir}/qemu-ga
|
|
|
|
|
%{_mandir}/man8/qemu-ga.8*
|
|
|
|
|
%{_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
|
|
|
|
|
|
2019-12-13 16:06:06 +08:00
|
|
|
%ifarch %{ix86} x86_64
|
|
|
|
|
%files seabios
|
|
|
|
|
%{_datadir}/%{name}/bios-256k.bin
|
|
|
|
|
%{_datadir}/%{name}/bios.bin
|
|
|
|
|
%endif
|
2019-09-30 11:15:46 -04:00
|
|
|
|
|
|
|
|
%changelog
|
2020-06-20 15:39:31 +08:00
|
|
|
* Sat Jun 20 2020 Huawei Technologies Co., Ltd <zhang.zhanghailiang@huawei.com>
|
|
|
|
|
- target/arm: Fix PAuth sbox functions
|
|
|
|
|
- fix two patches' format which can cause git am failed
|
|
|
|
|
|
|
|
|
|
* Fri May 29 2020 Huawei Technologies Co., Ltd <fangying1@huawei.com>
|
2020-05-29 11:15:45 +08:00
|
|
|
- target/arm: Add the kvm_adjvtime vcpu property for Cortex-A72
|
|
|
|
|
|
2020-05-27 11:35:14 +08:00
|
|
|
* Wed May 27 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- Revert: "vtimer: compat cross version migration from v4.0.1"
|
2020-05-27 11:37:33 +08:00
|
|
|
- ARM64: record vtimer tick when cpu is stopped
|
2020-05-27 11:41:47 +08:00
|
|
|
- hw/arm/virt: add missing compat for kvm-no-adjvtime
|
2020-05-27 11:45:35 +08:00
|
|
|
- migration: Compat virtual timer adjust for v4.0.1 and v4.1.0
|
2020-05-27 17:53:46 +08:00
|
|
|
- vtimer: Drop vtimer virtual timer adjust
|
2020-05-27 11:35:14 +08:00
|
|
|
|
2020-05-22 11:17:40 +08:00
|
|
|
* Fri May 22 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2020-05-29 11:15:45 +08:00
|
|
|
- ip_reass: Fix use after free
|
2020-05-22 12:29:21 +08:00
|
|
|
- bt: use size_t type for length parameters instead of int
|
2020-05-22 19:09:28 +08:00
|
|
|
- log: Add some logs on VM runtime path
|
2020-05-22 11:17:40 +08:00
|
|
|
|
2020-05-15 15:33:14 +08:00
|
|
|
* Fri May 15 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- ide: Fix incorrect handling of some PRDTs in ide_dma_cb()
|
2020-05-15 15:47:11 +08:00
|
|
|
- ati-vga: Fix checks in ati_2d_blt() to avoid crash
|
2020-05-15 16:51:37 +08:00
|
|
|
- slirp: tftp: restrict relative path access
|
2020-05-15 15:33:14 +08:00
|
|
|
|
2020-05-12 17:18:54 +08:00
|
|
|
* Tue May 12 2020 Huawei Technologies Co., Ltd. <zhukeqian1@huawei.com>
|
|
|
|
|
- arm/virt: Support CPU cold plug
|
|
|
|
|
|
2020-05-09 16:17:17 +08:00
|
|
|
* Sat May 9 2020 Huawei Technologies Co., Ltd. <pannengyuan@huawei.com>
|
|
|
|
|
- migration/ram: do error_free after migrate_set_error to avoid memleaks.
|
|
|
|
|
- migration/ram: fix memleaks in multifd_new_send_channel_async.
|
|
|
|
|
- migration/rdma: fix a memleak on error path in rdma_start_incoming_migration.
|
|
|
|
|
|
2020-05-08 12:45:21 +08:00
|
|
|
* Fri May 8 2020 Huawei Technologies Co., Ltd. <zhengchuan@huawei.com>
|
|
|
|
|
- vtimer: compat cross version migration from v4.0.1
|
|
|
|
|
|
2020-04-24 15:37:03 +08:00
|
|
|
* Fri Apr 24 2020 Huawei Technologies Co., Ltd. <zhengchuan@huawei.com>
|
|
|
|
|
- migration: backport migration patches from upstream
|
|
|
|
|
|
2020-04-22 21:59:17 +08:00
|
|
|
* Fri Apr 24 2020 Huawei Technologies Co., Ltd. <zhukeqian1@huawei.com>
|
|
|
|
|
- arm/virt: Add CPU hotplug support
|
|
|
|
|
|
2020-04-22 21:52:05 +08:00
|
|
|
* Wed Apr 22 2020 Huawei Technologies Co., Ltd. <zhukeqian1@huawei.com>
|
|
|
|
|
- backport patch to enable arm/virt memory hotplug
|
|
|
|
|
|
target/arm/kvm: Adjust virtual time
v3:
- Added a target/arm/kvm_arm.h comment cleanup patch (1/6)
- Minor refactoring of assert_has_feature_enabled/disabled in 4/6,
kept Richard's r-b.
- Rewrote kvm-no-adjvtime documentation in 6/6.
- Reworked approach in 5/6 to properly deal with migration and to
track running vs. !running, rather than running vs. paused states.
v2:
- Reworked it enough that I brought back the RFC tag and retitled the
series. Also had to drop r-b's from a couple of patches, and even
drop patches.
- Changed approach from writing the QEMU virtual time to the guest
vtime counter to saving and restoring the guest vtime counter.
- Changed the kvm-adjvtime property, which was off by default, to a
kvm-no-adjvtime property, which is also off by default, meaning the
effective "adjust vtime" property is now on by default (but only
for 5.0 virt machine types and later)
v1:
- move from RFC status to v1
- put kvm_arm_vm_state_change() in kvm.c to share among kvm32.c and kvm64.c
- add r-b's from Richard
This series is inspired by a series[1] posted by Bijan Mottahedeh over
a year ago and by the patch[2] posted by Heyi Guo almost a year ago.
The problem described in the cover letter of [1] is easily reproducible
and some users would like to have the option to avoid it. However the
solution, which is to adjust the virtual counter each time the VM
transitions to the running state, introduces a different problem, which
is that the virtual and physical counters diverge. As described in the
cover letter of [1] this divergence is easily observed when comparing
the output of `date` and `hwclock` after suspending the guest, waiting
a while, and then resuming it. Because this different problem may actually
be worse for some users, unlike [1], the series posted here makes the
virtual counter adjustment optional. Besides the adjustment being
optional, this series approaches the needed changes differently to apply
them in more appropriate locations.
Additional notes
----------------
Note 1
------
As described above, when running a guest with kvm-no-adjtime disabled
it will be less likely the guest OS and guest applications get surprise
time jumps when they use the virtual counter. However the counter will
no longer reflect real time. It will lag behind. If this is a problem
then the guest can resynchronize its time from an external source or
even from its physical counter. If the suspend/resume is done with
libvirt's virsh, and the guest is running the guest agent, then it's
also possible to use a sequence like this
$ virsh suspend $GUEST
$ virsh resume $GUEST
$ virsh domtime --sync $GUEST
in order to resynchronize a guest right after the resume. Of course
there will still be time when the clock is not right, possibly creating
confusing timestamps in logs, for example, and the guest must still be
tolerant to the time synchronizations.
Note 2
------
Userspace that wants to set KVM_REG_ARM_TIMER_CNT should beware that
the KVM register ID is not correct. This cannot be fixed because it's
UAPI and if the UAPI headers are used then it can't be a problem.
However, if a userspace attempts to create the ID themselves from the
register's specification, then they will get KVM_REG_ARM_TIMER_CVAL
instead, as the _CNT and _CVAL definitions have their register
parameters swapped.
Note 3
------
I didn't test this with a 32-bit KVM host, but the changes to kvm32.c
are the same as kvm64.c. So what could go wrong? Test results would be
appreciated.
[1] https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg05713.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg03695.html
upstream url:
https://patchwork.kernel.org/cover/11341629/
2020-04-22 11:17:47 +08:00
|
|
|
* Wed Apr 22 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- backport patch to enable target/arm/kvm Adjust virtual time
|
|
|
|
|
|
2020-04-17 18:12:50 +08:00
|
|
|
* Fri Apr 17 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- backport patch bundles from qemu stable v4.1.1
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2020-04-11 00:28:01 +08:00
|
|
|
- aio-wait: delegate polling of main AioContext if BQL not held
|
|
|
|
|
- async: use explicit memory barriers
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2020-03-18 17:26:39 +08:00
|
|
|
- pcie: Add pcie-root-port fast plug/unplug feature
|
2020-05-12 10:31:40 +08:00
|
|
|
- pcie: Compat with devices which do not support Link Width, such as ioh3420
|
2020-03-18 17:26:39 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- qcow2-bitmap: Fix uint64_t left-shift overflow
|
2020-03-17 16:48:40 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- COLO-compare: Fix incorrect `if` logic
|
2020-03-16 21:45:30 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- block/backup: fix max_transfer handling for copy_range
|
|
|
|
|
- block/backup: fix backup_cow_with_offload for last cluster
|
|
|
|
|
- qcow2: Limit total allocation range to INT_MAX
|
|
|
|
|
- mirror: Do not dereference invalid pointers
|
|
|
|
|
|
|
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- file-posix: Handle undetectable alignment
|
|
|
|
|
|
|
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- vhost: Fix memory region section comparison
|
|
|
|
|
- memory: Provide an equality function for MemoryRegionSections
|
|
|
|
|
- memory: Align MemoryRegionSections fields
|
|
|
|
|
|
|
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2020-03-16 14:48:43 +08:00
|
|
|
- block/iscsi: use MIN() between mx_sb_len and sb_len_wr
|
2020-05-12 10:31:40 +08:00
|
|
|
- moniter: fix memleak in monitor_fdset_dup_fd_find_remove
|
2020-03-16 14:48:43 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2020-03-11 19:20:36 +08:00
|
|
|
- tcp_emu: fix unsafe snprintf() usages
|
2020-05-12 10:31:40 +08:00
|
|
|
- util: add slirp_fmt() helpers
|
|
|
|
|
- slirp: use correct size while emulating commands
|
|
|
|
|
- slirp: use correct size while emulating IRC commands
|
|
|
|
|
- tcp_emu: Fix oob access
|
2020-03-09 20:47:56 +08:00
|
|
|
- iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- 9pfs: local: Fix possible memory leak in local_link()
|
|
|
|
|
- scsi-disk: define props in scsi_block_disk to avoid memleaks
|
|
|
|
|
- arm/translate-a64: fix uninitialized variable warning
|
|
|
|
|
- block: fix memleaks in bdrv_refresh_filename
|
|
|
|
|
- vnc: fix memory leak when vnc disconnect
|
2020-01-16 18:15:23 +08:00
|
|
|
- block: fix memleaks in bdrv_refresh_filename
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- linux headers: update against "KVM/ARM: Fix >256 vcpus"
|
|
|
|
|
- intc/arm_gic: Support IRQ injection for more than 256 vcpus
|
|
|
|
|
- ARM: KVM: Check KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 for smp_cpus >
|
|
|
|
|
|
|
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- vnc: fix memory leak when vnc disconnect
|
2020-01-13 11:32:53 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- pcie: disable the PCI_EXP_LINKSTA_DLLA cap for pcie-root-port by default
|
2020-01-06 14:35:42 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- cpu: add Kunpeng-920 cpu support
|
|
|
|
|
- cpu: parse +/- feature to avoid failure
|
|
|
|
|
- cpu: add Cortex-A72 processor kvm target support
|
2019-12-25 16:06:27 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- vhost-user-scsi: prevent using uninitialized vqs
|
2019-11-06 19:50:55 +08:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- util/async: hold AioContext ref to prevent use-after-free
|
2019-09-30 11:15:46 -04:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2019-09-30 11:15:46 -04:00
|
|
|
- xhci: Fix memory leak in xhci_address_slot
|
|
|
|
|
- xhci: Fix memory leak in xhci_kick_epctx
|
2020-05-12 10:31:40 +08:00
|
|
|
- ehci: fix queue->dev null ptr dereference
|
2019-09-30 11:15:46 -04:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Thu Apr 16 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- tests/bios-tables-test: disable this testcase
|
2019-09-30 11:15:46 -04:00
|
|
|
- hw/arm/virt: Introduce cpu topology support
|
|
|
|
|
- hw/arm64: add vcpu cache info support
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Wed Apr 15 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2019-09-30 11:15:46 -04:00
|
|
|
- smbios: Add missing member of type 4 for smbios 3.0
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Wed Apr 15 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- bios-tables-test: prepare to change ARM virt ACPI DSDT
|
|
|
|
|
- arm64: Add the cpufreq device to show cpufreq info to guest
|
2019-09-30 11:15:46 -04:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Wed Apr 15 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
2019-09-30 11:15:46 -04:00
|
|
|
- qcow2: fix memory leak in qcow2_read_extensions
|
|
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Wed Apr 15 2020 Huawei Technologies Co., Ltd. <fangying1@huawei.com>
|
|
|
|
|
- pl011: reset read FIFIO when UARTTIMSC=0 & UARTICR=0xff
|
2019-09-30 11:15:46 -04:00
|
|
|
- pl031: support rtc-timer property for pl031
|
2020-05-12 10:31:40 +08:00
|
|
|
- vhost: cancel migration when vhost-user restarted
|
2019-09-30 11:15:46 -04:00
|
|
|
|
2020-05-12 10:31:40 +08:00
|
|
|
* Mon Apr 13 2020 openEuler Buildteam <buildteam@openeuler.org> - version-release
|
2019-09-30 11:15:46 -04:00
|
|
|
- Package init
|