QEMU is a FAST! processor emulator
CentOS Buildsys
2013-11-11 218e998aa8bf263cd8a53bd742d03162c780aa7a
import qemu-kvm-1.5.3-19.el7.src.rpm
465 files added
1 files deleted
70732 ■■■■■ changed files
.qemu-kvm.metadata 5 ●●●●● patch | view | raw | blame | history
README.md 5 ●●●●● patch | view | raw | blame | history
SOURCES/0000-libcacard-fix-missing-symbols-in-libcacard.so.patch 22 ●●●●● patch | view | raw | blame | history
SOURCES/80-kvm.rules 1 ●●●● patch | view | raw | blame | history
SOURCES/99-qemu-guest-agent.rules 2 ●●●●● patch | view | raw | blame | history
SOURCES/block-add-block-driver-read-only-whitelist.patch 284 ●●●●● patch | view | raw | blame | history
SOURCES/bridge.conf 1 ●●●● patch | view | raw | blame | history
SOURCES/change-path-from-qemu-to-qemu-kvm.patch 37 ●●●●● patch | view | raw | blame | history
SOURCES/disable-hpet-device.patch 35 ●●●●● patch | view | raw | blame | history
SOURCES/disable-unsupported-audio-devices.patch 32 ●●●●● patch | view | raw | blame | history
SOURCES/disable-unsupported-emulated-network-devices.patch 155 ●●●●● patch | view | raw | blame | history
SOURCES/disable-unsupported-emulated-scsi-devices.patch 40 ●●●●● patch | view | raw | blame | history
SOURCES/disable-unsupported-usb-devices.patch 40 ●●●●● patch | view | raw | blame | history
SOURCES/disable-various-unsupported-devices.patch 127 ●●●●● patch | view | raw | blame | history
SOURCES/e1000-Keep-capabilities-list-bit-on-for-older-RHEL-machine-types.patch 49 ●●●●● patch | view | raw | blame | history
SOURCES/ksm.service 13 ●●●●● patch | view | raw | blame | history
SOURCES/ksm.sysconfig 4 ●●●● patch | view | raw | blame | history
SOURCES/ksmctl.c 77 ●●●●● patch | view | raw | blame | history
SOURCES/ksmtuned 137 ●●●●● patch | view | raw | blame | history
SOURCES/ksmtuned.conf 21 ●●●●● patch | view | raw | blame | history
SOURCES/ksmtuned.service 12 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Build-ceph-rbd-only-for-rhev.patch 100 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Convert-stderr-message-calling-error_get_pretty-to-e.patch 219 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Disable-isa-parallel.patch 158 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Disable-usb-uas.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Fix-machine-options-accel-kernel_irqchip-kvm_shadow_.patch 178 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Fix-migration-from-rhel6.5-to-rhel7-with-ipxe.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Fix-potential-resource-leak-missing-fclose.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Fix-real-mode-guest-migration.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Fix-real-mode-guest-segments-dpl-value-in-savevm.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Implement-qdict_flatten.patch 107 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Makefile-create-.-var-run-when-installing-the-POSIX-.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Mostly-revert-qemu-help-Sort-devices-by-logical-func.patch 177 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Preparation-for-usb-bt-dongle-conditional-build.patch 245 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-QemuOpts-Add-qemu_opt_unset.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Remove-dev-bluetooth.c-dependency-from-vl.c.patch 132 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Remove-i82550-network-card-emulation.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Remove-no-hpet-option.patch 89 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Remove-usb-wacom-tablet.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Revert-block-Disable-driver-specific-options-for-1.5.patch 178 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Revert-usb-hub-report-status-changes-only-once.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-Simplify-machine-option-queries-with-qemu_get_machin.patch 283 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-acpi-piix4-Enable-qemu-kvm-compatibility-mode.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-add-qemu-img-convert-n-option-skip-target-volume-cre.patch 339 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-add-timestamp-to-error_report.patch 182 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-all.c-max_cpus-should-not-exceed-KVM-vcpu-limit.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-apic-Document-why-cannot_instantiate_with_device_add.patch 52 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-apic-rename-apic-specific-bitopts.patch 191 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-audio-remove-CONFIG_MIXEMU-configure-option.patch 181 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-bdrv-Use-Error-for-creating-images.patch 321 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-bdrv-Use-Error-for-opening-images.patch 565 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blkdebug-Employ-error-parameter.patch 75 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blkverify-Employ-error-parameter.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Add-bdrv_get_specific_info.patch 101 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Allow-driver-option-on-the-top-level.patch 141 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Always-enable-discard-on-the-protocol-level.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Bugfix-format-and-snapshot-used-in-drive-optio.patch 89 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Disable-BDRV_O_COPY_ON_READ-for-the-backing-fi.patch 57 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Don-t-copy-backing-file-name-on-error.patch 68 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Don-t-parse-protocol-from-file.filename.patch 218 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Error-parameter-for-create-functions.patch 380 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Error-parameter-for-open-functions.patch 940 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Fix-compiler-warning-Werror-uninitialized.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Introduce-bs-zero_beyond_eof.patch 105 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-Produce-zeros-when-protocols-reading-beyond-en.patch 106 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-add-bdrv_write_zeroes.patch 139 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-add-default-get_block_status-implementation-fo.patch 49 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-add-image-info-query-function-bdrv_query_image.patch 165 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-add-snapshot-info-query-function-bdrv_query_sn.patch 159 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-bdrv_reopen_prepare-don-t-use-QERR_OPEN_FILE_F.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-define-get_block_status-return-value.patch 106 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-do-not-use-total_sectors-in-bdrv_co_is_allocat.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-don-t-lose-data-from-last-incomplete-sector.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-drop-bs_snapshots-global-variable.patch 195 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-dump-snapshot-and-image-info-to-specified-outp.patch 251 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-expect-errors-from-bdrv_co_is_allocated.patch 162 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-fix-backing-file-overriding.patch 85 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-fix-vvfat-error-path-for-enable_write_target.patch 104 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-get_block_status-avoid-redundant-callouts-on-r.patch 92 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-get_block_status-avoid-segfault-if-there-is-no.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-get_block_status-set-pnum-0-on-error.patch 49 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-introduce-bdrv_get_block_status-API.patch 447 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-keep-bs-total_sectors-up-to-date-even-for-grow.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-look-for-zero-blocks-in-bs-file.patch 63 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-make-all-steps-in-qmp_transaction-as-callback.patch 206 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-make-bdrv_co_is_allocated-static.patch 129 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-make-bdrv_has_zero_init-return-false-for-copy-.patch 69 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-migration-efficiently-encode-zero-blocks.patch 183 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-mirror_complete-use-error_setg_file_open.patch 46 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-move-input-parsing-code-in-qmp_transaction.patch 112 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-move-qmp-and-info-dump-related-code-to-block-q.patch 931 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-move-snapshot-code-in-block.c-to-block-snapsho.patch 499 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-optionally-disable-live-block-jobs.patch 441 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-package-committing-code-in-qmp_transaction.patch 77 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-package-preparation-code-in-qmp_transaction.patch 220 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-package-rollback-code-in-qmp_transaction.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-qapi-Human-readable-ImageInfoSpecific-dump.patch 243 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-raw-Employ-error-parameter.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-raw-add-bdrv_co_write_zeroes.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-raw-posix-Employ-error-parameter.patch 267 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-raw-win32-Always-use-errno-in-hdev_open.patch 60 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-raw-win32-Employ-error-parameter.patch 116 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-remove-bdrv_is_allocated_above-bdrv_co_is_allo.patch 166 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-return-BDRV_BLOCK_ZERO-past-end-of-backing-fil.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-return-get_block_status-data-and-flags-for-for.patch 285 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-use-bdrv_has_zero_init-to-return-BDRV_BLOCK_ZE.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-block-vhdx-add-migration-blocker.patch 75 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Don-t-disable-COR-automatically-with-blockd.patch 121 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Introduce-DriveInfo.enable_auto_del.patch 95 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Move-bus-unit-index-processing-to-drive_ini.patch 266 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Move-parsing-of-boot-option-to-drive_init.patch 87 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Move-parsing-of-if-option-to-drive_init.patch 127 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Move-parsing-of-media-option-to-drive_init.patch 182 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Move-virtio-blk-device-creation-to-drive_in.patch 154 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Moving-parsing-of-geometry-options-to-drive.patch 245 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Pass-QDict-to-blockdev_init.patch 151 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Remove-IF_-check-for-read-only-blockdev_ini.patch 231 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Remove-media-parameter-from-blockdev_init.patch 132 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Rename-I-O-throttling-options-for-QMP.patch 145 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Rename-readonly-option-to-read-only.patch 92 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Separate-ID-generation-from-DriveInfo-creat.patch 114 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-Split-up-cache-option.patch 133 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-blockdev-add-QMP-command.patch 422 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-blockdev_init-error-conversion.patch 205 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-do-not-default-cache.no-flush-to-true.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-drop-redundant-proto_drv-check.patch 104 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-fix-cdrom-read_only-flag.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-blockdev-use-error_setg_file_open.patch 69 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-boot-order-test-New-covering-just-PC-for-now.patch 138 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-char-io_channel_send-don-t-lose-written-bytes.patch 93 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-char-move-backends-io-watch-tag-to-CharDriverState.patch 248 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-char-remove-watch-callback-on-chardev-detach-from-fr.patch 66 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-char-use-common-function-to-disable-callbacks-on-cha.patch 174 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-chardev-fix-pty_chr_timer.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-chardev-handle-qmp_chardev_add-KIND_MUX-failure.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-configure-don-t-save-any-fixed-local_statedir-for-wi.patch 82 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cow-do-not-call-bdrv_co_is_allocated.patch 46 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cow-make-reads-go-at-a-decent-speed.patch 113 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cow-make-writes-go-at-a-less-indecent-speed.patch 79 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cpu-Document-why-cannot_instantiate_with_device_add_.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cpu-Turn-cpu_get_memory_mapping-into-a-CPUState-hook.patch 208 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cpu-Turn-cpu_paging_enabled-into-a-CPUState-hook.patch 195 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-cpus-use-error_setg_file_open.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dataplane-enable-virtio-blk-x-data-plane-on-live-migration.patch 145 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-devices-Associate-devices-to-their-logical-category.patch 1848 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-doc-Drop-ref-to-Bochs-from-no-fd-bootchk-documentati.patch 56 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-docs-Document-QAPI-union-types.patch 125 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-docs-qapi-document-qemu-img-map.patch 139 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-don-t-disable-ctrl_mac_addr-feature-for-6.5-machine-.patch 60 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-Abstract-dump_init-with-cpu_synchronize_all_states.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-Move-stubs-into-libqemustub-a.patch 142 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-clamp-guest-provided-mapping-lengths-to-ramblock-sizes.patch 167 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-introduce-GuestPhysBlockList.patch 186 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-populate-guest_phys_blocks.patch 174 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-qmp_dump_guest_memory-use-error_setg_file_open.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-dump-rebase-from-host-private-RAMBlock-offsets-to-guest-physical-addresses.patch 412 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-error-add-error_setg_file_open-helper.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Clean-up-fall-back-when-mem-path-allocation-fai.patch 66 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Clean-up-unnecessary-S390-ifdeffery.patch 98 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Don-t-abort-when-we-can-t-allocate-guest-memory.patch 117 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Drop-incorrect-dead-S390-code-in-qemu_ram_remap.patch 82 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Fix-Xen-RAM-allocation-with-unusual-options.patch 103 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Reduce-ifdeffery-around-mem-path.patch 119 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-exec-Simplify-the-guest-physical-memory-allocation-h.patch 184 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-fix-steal-time-MSR-vmsd-callback-to-proper-opaque-ty.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-fw_cfg-add-API-to-find-FW-cfg-object.patch 113 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-gdbstub-do-not-restart-crashed-guest.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-gdbstub-fix-for-commit-87f25c12bfeaaa0c41fb857713bbc.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-gluster-Abort-on-AIO-completion-failure.patch 73 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-gluster-Add-image-resize-support.patch 96 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hda-codec-make-mixemu-selectable-at-runtime.patch 438 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hda-codec-refactor-common-definitions-into-a-header-.patch 927 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hw-Pass-QEMUMachine-to-its-init-method.patch 88 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hw-import-bitmap-operations-in-qdev-core-header.patch 117 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hw-misc-don-t-create-pvpanic-device-by-default.patch 207 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-hw-misc-make-pvpanic-known-to-user.patch 92 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-i386-fix-LAPIC-TSC-deadline-timer-save-restore.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-ich9-Document-why-cannot_instantiate_with_device_add.patch 85 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-isa-Clean-up-use-of-cannot_instantiate_with_device_a.patch 280 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-iscsi-use-bdrv_new-instead-of-stack-structure.patch 95 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-kvmvapic-Catch-invalid-ROM-size.patch 80 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-kvmvapic-Clear-also-physical-ROM-address-when-enteri.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-kvmvapic-Enter-inactive-state-on-hardware-reset.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-libqtest-New-qtest_end-to-go-with-qtest_start.patch 142 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-libqtest-Plug-fd-and-memory-leaks-in-qtest_quit.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-linux-headers-Update-for-KVM-VFIO-device.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-linux-headers-Update-to-include-vfio-pci-hot-reset-s.patch 80 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-linux-headers-Update-to-v3-10-rc5.patch 472 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-linux-headers-update-to-kernel-3.10.0-26.el7.patch 194 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-memory_mapping-Improve-qemu_get_guest_memory_mapping-error-reporting.patch 107 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-memory_mapping-Move-MemoryMappingList-typedef-to-qemu-typedefs-h.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-microblaze-Fix-latent-bug-with-default-DTB-lookup.patch 82 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migrate-vPMU-state.patch 309 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migration-add-autoconvergence-documentation.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migration-disable-live-block-migration-b-i-for-rhel-.patch 104 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migration-don-t-use-uninitialized-variables.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migration-notify-migration-state-before-starting-thread.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-migration-send-total-time-in-QMP-at-completed-stage.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-Add-auto-converge-migration-capability.patch 86 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-Disable-EFI-enabled-roms.patch 117 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-Force-auto-convegence-of-live-migration.patch 207 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-Introduce-async_run_on_cpu.patch 120 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-add-qxl_screendump-monitor-command.patch 160 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-misc-qga-fsfreeze-main-hook-adapt-to-RHEL-7-RH-only.patch 78 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-monitor-Remove-host_net_add-remove-for-Red-Hat-Enter.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-monitor-Remove-pci_add-command-for-Red-Hat-Enterpris.patch 52 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-monitor-Remove-pci_del-command-for-Red-Hat-Enterpris.patch 52 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-monitor-Remove-usb_add-del-commands-for-Red-Hat-Ente.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-monitor-maintain-at-most-one-G_IO_OUT-watch.patch 75 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-net-add-support-of-mac-programming-over-macvtap-in-Q.patch 646 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-net-e1000-update-network-information-when-macaddr-is.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-net-rtl8139-update-network-information-when-macaddr-.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-net-update-nic-info-during-device-reset.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-osdep-add-qemu_get_local_state_pathname.patch 130 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Don-t-explode-QEMUMachineInitArgs-into-local-vari.patch 100 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Don-t-prematurely-explode-QEMUMachineInitArgs.patch 178 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Haswell-doesn-t-have-rdtscp-on-rhel6.x.patch 46 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Make-no-fd-bootchk-stick-across-boot-order-change.patch 87 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-RHEL-6-don-t-have-RDTSCP.patch 57 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-RHEL-6-had-x2apic-set-on-Opteron_G-123.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Remove-PCLMULQDQ-from-Westmere-on-rhel6.x-machine.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-Remove-incorrect-rhel6.x-compat-model-value-for-C.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-SandyBridge-rhel6.x-compat-fixes.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-drop-external-DSDT-loading.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-rhel6-doesn-t-have-APIC-on-pentium-CPU-models.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-rhel6.x-has-x2apic-present-on-Conroe-Penryn-Nehal.patch 49 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-set-compat-CPUID-0x80000001-.EDX-bits-on-Westmere.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-set-compat-pmu-property-for-rhel6-x-machine-types.patch 55 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc-set-level-xlevel-correctly-on-486-qemu32-CPU-mode.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc_piix-disable-CPUID_SEP-for-6-4-0-machine-types-and-below.patch 41 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc_piix-disable-mixer-for-6.4.0-machine-types-and-be.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pc_sysfw-Fix-ISA-BIOS-init-for-ridiculously-big-flas.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pci-add-VMSTATE_MSIX.patch 95 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pci-assign-Add-MSI-affinity-support.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pci-assign-remove-the-duplicate-function-name-in-deb.patch 94 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pci-host-Consistently-set-cannot_instantiate_with_de.patch 385 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-piix3-piix4-Clean-up-use-of-cannot_instantiate_with_.patch 156 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pvpanic-fix-fwcfg-for-big-endian-hosts.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pvpanic-initialization-cleanup.patch 115 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-pvpanic-use-FWCfgState-explicitly.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Add-ImageInfoSpecific-type.patch 80 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Add-consume-argument-to-qmp_input_get_object.patch 120 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Add-optional-field-compressed-to-ImageInfo.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Add-visitor-for-implicit-structs.patch 132 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Anonymous-unions.patch 379 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-Flat-unions-with-arbitrary-discriminator.patch 284 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-enable-generation-of-native-list-code.patch 74 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-qapi-types.py-native-list-support.patch 179 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-qapi-visit.py-fix-list-handling-for-union-types.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-qapi-visit.py-native-list-support.patch 117 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-schema-Use-BlockdevSnapshot-type-for-blockdev-s.patch 69 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-types-visit.py-Inheritance-for-structs.patch 135 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-types-visit.py-Pass-whole-expr-dict-for-structs.patch 95 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-types.py-Fix-enum-struct-sizes-on-i686.patch 63 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-types.py-Implement-base-for-unions.patch 102 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-types.py-Split-off-generate_struct_fields.patch 68 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-visit.py-Implement-base-for-unions.patch 112 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi-visit.py-Split-off-generate_visit_struct_fields.patch 116 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi.py-Allow-top-level-type-reference-for-command-d.patch 84 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi.py-Avoid-code-duplication.patch 81 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qapi.py-Maintain-a-list-of-union-types.patch 71 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Add-corrupt-bit.patch 234 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Add-more-overlap-check-bitmask-macros.patch 66 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Add-overlap-check-options.patch 116 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Add-refcount-update-reason-to-all-callers.patch 375 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Add-support-for-ImageInfoSpecific.patch 122 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Array-assigning-options-to-OL-check-bits.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Batch-discards.patch 272 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-CHECK_OFLAG_COPIED-is-obsolete.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Correct-endianness-in-overlap-check.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Correct-snapshots-size-for-overlap-check.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Employ-metadata-overlap-checks.patch 229 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Evaluate-overlap-check-options.patch 84 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Make-overlap-check-mask-variable.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Metadata-overlap-checks.patch 321 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Options-to-enable-discard-for-freed-clusters.patch 124 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Remove-wrong-metadata-overlap-check.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Restore-total_sectors-value-in-save_vmstate.patch 69 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Switch-L1-table-in-a-single-sequence.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Unset-zero_beyond_eof-in-save_vmstate.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Use-Error-parameter.patch 498 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Use-dashes-instead-of-underscores-in-options.patch 152 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Use-negated-overflow-check-mask.patch 262 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-Use-pread-for-inactive-L1-in-overlap-check.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-refcount-Move-OFLAG_COPIED-checks.patch 201 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-refcount-Repair-OFLAG_COPIED-errors.patch 182 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2-refcount-Repair-shared-refcount-blocks.patch 233 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qcow2_check-Mark-image-consistent.patch 54 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qdev-Do-not-let-the-user-try-to-device_add-when-it-c.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qdev-Replace-no_user-by-cannot_instantiate_with_devi.patch 928 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qdev-monitor-Group-device_add-help-and-info-qdm-by-c.patch 142 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-add-chardev-mux-support.patch 79 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-check-optional-fields-using-has_.patch 52 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-don-t-leak-opts-on-error.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-fix-documentation-for-telnet-wait-socket-f.patch 49 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-minor-mux-chardev-fixes.patch 68 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-print-notification-to-stderr.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-report-udp-backend-errors.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-use-ChardevBackendKind-in-CharDriver.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-char-use-more-specific-error_setg_-variants.patch 52 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-ga-execute-fsfreeze-freeze-in-reverse-order-of-.patch 71 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-help-Sort-devices-by-logical-functionality.patch 181 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-img-Error-out-for-excess-arguments.patch 108 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-img-add-a-map-subcommand.patch 253 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-img-always-probe-the-input-image-for-allocated-.patch 94 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-img-create-Emit-filename-on-error.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-img-fix-invalid-JSON.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Add-basic-ability-to-use-binary-sample-.patch 130 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Additional-info-from-qemu-img-info.patch 217 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Adjustments-due-to-error-propagation.patch 217 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Check-autodel-behaviour-for-device_del.patch 292 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Discard-specific-info-in-_img_info.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Fix-test-038.patch 89 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Fixed-test-case-026.patch 828 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Overlapping-cluster-allocations.patch 218 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Quote-TEST_IMG-and-TEST_DIR-usage.patch 1971 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Remove-lsi53c895a-tests-from-051.patch 184 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Test-for-loading-VM-state-from-qcow2.patch 147 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Try-creating-huge-qcow2-image.patch 157 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Update-051-reference-output.patch 253 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-Whitespace-cleanup.patch 1110 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-add-empty-test-case-for-vmdk.patch 109 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-add-monolithicFlat-creation-test-to-059.patch 64 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-add-poke_file-utility-function.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-filter-QEMU-version-in-monitor-banner.patch 252 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-iotests-fix-test-case-059.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-option-Fix-qemu_opts_find-for-null-id-arguments.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-option-Fix-qemu_opts_set_defaults-for-corner-ca.patch 96 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-option-check_params-is-now-unused-drop-it.patch 92 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-socket-catch-monitor_get_fd-failures.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-socket-don-t-leak-opts-on-error.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-socket-drop-pointless-allocation.patch 42 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qemu-socket-zero-initialize-SocketAddress.patch 46 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qerror-drop-QERR_OPEN_FILE_FAILED-macro.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qga-create-state-directory-on-win32.patch 57 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qga-determine-default-state-dir-and-pidfile-dynamica.patch 124 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qga-move-logfiles-to-new-directory-for-easier-SELinu.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qga-save-state-directory-in-ga_install_service-RHEL-.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qmp-Documentation-for-BLOCK_IMAGE_CORRUPTED.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qmp-add-ImageInfo-in-BlockDeviceInfo-used-by-query-b.patch 291 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qtest-Don-t-reset-on-qtest-chardev-connect.patch 59 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-qxl-fix-local-renderer.patch 82 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-raw-posix-report-unwritten-extents-as-zero.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-raw-posix-return-get_block_status-data-and-flags.patch 94 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rbd-Only-look-for-qemu-specific-copy-of-librbd.so.1.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rbd-link-and-load-librbd-dynamically.patch 614 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rdma-export-qemu_fflush.patch 66 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Drop-cfi.pflash01-and-isa-ide-device.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Drop-isa-vga-device.patch 63 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Drop-ivshmem-device.patch 60 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Make-ccid-card-emulated-device-unavailable.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Make-isa-cirrus-vga-device-unavailable.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Make-pci-serial-2x-and-pci-serial-4x-device-una.patch 57 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Revert-downstream-changes-to-unused-default-con.patch 254 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-Revert-unwanted-cannot_instantiate_with_device_.patch 117 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel-SMBIOS-type-1-branding.patch 83 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rhel6-compat-usb-serial-numbers.patch 95 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-rng-random-use-error_setg_file_open.patch 47 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-savevm-qmp_xen_save_devices_state-use-error_setg_fil.patch 45 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-scsi-Fix-scsi_bus_legacy_add_drive-scsi-generic-with.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-scsi-prefer-UUID-to-VM-name-for-the-initiator-name.patch 140 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-sd-Avoid-access-to-NULL-BlockDriverState.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-seabios-paravirt-allow-more-than-1TB-in-x86-guest.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-seccomp-fine-tuning-whitelist-by-adding-times.patch 56 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Convert-to-QemuOpts.patch 408 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Decouple-system-product-from-QEMUMachine.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Factor-out-smbios_maybe_add_str.patch 114 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Improve-diagnostics-for-conflicting-entries.patch 113 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Make-multiple-smbios-type-accumulate-sanely.patch 361 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Normalize-smbios_entry_add-s-error-handling-t.patch 109 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-smbios-Set-system-manufacturer-product-version-by-de.patch 149 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-spice-fix-display-initialization.patch 113 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-sysbus-Set-cannot_instantiate_with_device_add_yet.patch 499 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-Disable-PMU-CPUID-leaf-by-default.patch 122 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-Pass-X86CPU-object-to-cpu_x86_find_by_name.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-Set-model-6-on-qemu64-qemu32-CPU-models.patch 105 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-add-cpu64-rhel6-CPU-model.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-add-feature-kvm_pv_unhalt.patch 56 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-remove-tabs-from-target-i386-cpu.h.patch 304 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-target-i386-support-loading-of-cpu-xsave-subsection.patch 84 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-tests-set-MALLOC_PERTURB_-to-expose-memory-bugs.patch 79 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-add-serial-bus-property.patch 143 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-host-libusb-Configuration-0-may-be-a-valid-confi.patch 66 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-host-libusb-Detach-kernel-drivers-earlier.patch 70 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-host-libusb-Fix-building-with-libusb-git-master-code.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-host-libusb-Fix-reset-handling.patch 75 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-usb-remove-old-usb-host-code.patch 2665 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-QEMU-AER-Qemu-changes-to-support-AER-for-VFIO-PCI-devices.patch 226 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Add-dummy-PCI-ROM-write-accessor.patch 53 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Add-support-for-MSI-affinity.patch 134 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Cleanup-error_reports.patch 100 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Fix-endian-issues-in-vfio_pci_size_rom.patch 57 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Implement-PCI-hot-reset.patch 444 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Lazy-PCI-option-ROM-loading.patch 282 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Make-use-of-new-KVM-VFIO-device.patch 131 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-Test-device-reset-capabilities.patch 116 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vfio-pci-VGA-quirk-update.patch 947 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-virtio-blk-do-not-relay-a-previous-driver-s-WCE-conf.patch 126 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-virtio-net-fix-up-HMP-NIC-info-string-on-reset.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-virtio-scsi-Make-type-virtio-scsi-common-abstract.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vl-Clean-up-parsing-of-boot-option-argument.patch 176 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vl-Fix-boot-order-and-once-regressions-and-related-b.patch 277 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vl-New-qemu_get_machine_opts.patch 78 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vl-Rename-boot_devices-to-boot_order-for-consistency.patch 109 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vl-allow-cont-from-panicked-state.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Fix-vmdk_parse_extents.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Implement-.bdrv_has_zero_init.patch 103 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Implment-bdrv_get_specific_info.patch 287 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Make-VMDK3Header-and-VmdkGrainMarker-QEMU_PACKE.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Move-l1_size-check-into-vmdk_add_extent.patch 62 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-Only-read-cid-from-image-file-when-opening.patch 84 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-check-granularity-field-in-opening.patch 157 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-check-l1-size-before-opening-image.patch 90 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-check-l2-table-size-when-opening.patch 85 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-convert-error-code-to-use-errp.patch 455 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-fix-L1-and-L2-table-size-in-vmdk3-open.patch 61 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-fix-VMFS-extent-parsing.patch 43 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-fix-cluster-size-check-for-flat-extents.patch 80 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-fix-comment-for-vmdk_co_write_zeroes.patch 63 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-refuse-enabling-zeroed-grain-with-flat-images.patch 84 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-rename-num_gtes_per_gte-to-num_gtes_per_gt.patch 91 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-support-vmfs-files.patch 60 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-support-vmfsSparse-files.patch 112 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-use-heap-allocation-for-whole_grain.patch 82 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vmdk-use-unsigned-values-for-on-disk-header-fields.patch 91 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-vt82c686-Clean-up-use-of-cannot_instantiate_with_dev.patch 73 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-w32-Fix-access-to-host-devices-regression.patch 108 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-warn-if-num-cpus-is-greater-than-num-recommended.patch 146 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-x86-cpuid-reconstruct-leaf-0Dh-data.patch 122 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-x86-fix-migration-from-pre-version-12.patch 65 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-add-XHCISlot-addressed.patch 58 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-add-live-migration-support.patch 208 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-add-xhci_alloc_epctx.patch 98 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-add-xhci_init_epctx.patch 99 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-emulate-intr-endpoint-intervals-correctly.patch 146 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-fix-endpoint-interval-calculation.patch 42 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-implement-warm-port-reset.patch 74 ●●●●● patch | view | raw | blame | history
SOURCES/kvm-xhci-reset-port-when-disabling-slot.patch 41 ●●●●● patch | view | raw | blame | history
SOURCES/misc-disable-s3-s4-by-default.patch 50 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-0-0.patch 280 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-1-0.patch 110 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-2-0.patch 137 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-3-0.patch 75 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-4-0.patch 208 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Add-machine-type-rhel6-5-0.patch 83 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Disable-the-use-flash-device-for-BIOS-unless-KVM-misfeature.patch 97 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Drop-RHEL-6-USB-device-compat_prop-full-path.patch 36 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Drop-RHEL-6-compat_props-apic-kvm-apic-vapic.patch 44 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Drop-RHEL-6-compat_props-virtio-serial-pci-max_ports-vectors.patch 37 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Drop-superfluous-RHEL-6-compat_props.patch 96 ●●●●● patch | view | raw | blame | history
SOURCES/pc-Give-rhel6-0-0-a-kvmclock.patch 51 ●●●●● patch | view | raw | blame | history
SOURCES/pc-replace-upstream-machine-types-by-rhel7-types.patch 120 ●●●●● patch | view | raw | blame | history
SOURCES/pc-rhel6-compat-enable-S3-S4-for-6-1-and-lower-machine-types.patch 67 ●●●●● patch | view | raw | blame | history
SOURCES/qemu-ga.sysconfig 19 ●●●●● patch | view | raw | blame | history
SOURCES/qemu-guest-agent.service 18 ●●●●● patch | view | raw | blame | history
SOURCES/qemu-kvm-Fix-migration-from-older-version-due-to-i8254-changes.patch 64 ●●●●● patch | view | raw | blame | history
SOURCES/qemu.binfmt 17 ●●●●● patch | view | raw | blame | history
SOURCES/qxl-set-revision-to-1-for-rhel6-0-0.patch 48 ●●●●● patch | view | raw | blame | history
SOURCES/rename-man-page-to-qemu-kvm.patch 25 ●●●●● patch | view | raw | blame | history
SOURCES/target-i386-set-level-4-on-conroe-penryn-nehalem.patch 94 ●●●●● patch | view | raw | blame | history
SOURCES/target-i386-update-model-values-on-conroe-penryn-nehalem-cpu-models.patch 131 ●●●●● patch | view | raw | blame | history
SOURCES/use-kvm-by-default.patch 24 ●●●●● patch | view | raw | blame | history
SOURCES/vga-Default-vram_size_mb-to-16-like-prior-versions-of-RHEL.patch 103 ●●●●● patch | view | raw | blame | history
SOURCES/vmdk-Allow-reading-variable-size-descriptor-files.patch 77 ●●●●● patch | view | raw | blame | history
SOURCES/vmdk-refuse-to-open-higher-version-than-supported.patch 46 ●●●●● patch | view | raw | blame | history
SPECS/qemu-kvm.spec 3747 ●●●●● patch | view | raw | blame | history
.qemu-kvm.metadata
New file
@@ -0,0 +1,5 @@
faac4c56f0ef593721edc66af965bac63760965b SOURCES/rhel6-ne2k_pci.rom
ca79836ccce0ffbf25aac4687a3aa64bf281a3c1 SOURCES/rhel6-rtl8139.rom
82eda3fb78a792745e46bcbbea8290cc444ae6bf SOURCES/rhel6-virtio.rom
f5ddbc9701698bc4adc5e98c63ad438c3b8e8510 SOURCES/rhel6-pcnet.rom
e5a40bb63de8445a465c507ce27e736cff35ec12 SOURCES/qemu-1.5.3.tar.bz2
README.md
File was deleted
SOURCES/0000-libcacard-fix-missing-symbols-in-libcacard.so.patch
New file
@@ -0,0 +1,22 @@
From 9cb057a4d615ea4773066eac44fe8e88414fac4b Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Mon, 4 Mar 2013 09:43:01 +0100
Subject: libcacard: fix missing symbols in libcacard.so
Message-Id:  <94afb78477a5b078449e5d48b38e74aac3fa5ac4.1354903384.git.crobinso@redhat.com>
Signed-off-by: Alon Levy <alevy@redhat.com>
diff --git a/libcacard/Makefile b/libcacard/Makefile
index 47827a0..6bdf0c4 100644
--- a/libcacard/Makefile
+++ b/libcacard/Makefile
@@ -4,7 +4,7 @@ TOOLS += vscclient$(EXESUF)
 # objects linked into a shared library, built with libtool with -fPIC if required
 libcacard-obj-y = $(stub-obj-y) $(libcacard-y)
-libcacard-obj-y += util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o
+libcacard-obj-y += util/osdep.o util/iov.o util/cutils.o util/qemu-timer-common.o util/error.o util/hexdump.o
 libcacard-obj-$(CONFIG_WIN32) += util/oslib-win32.o util/qemu-thread-win32.o
 libcacard-obj-$(CONFIG_POSIX) += util/oslib-posix.o util/qemu-thread-posix.o
 libcacard-obj-y += $(filter trace/%, $(util-obj-y))
SOURCES/80-kvm.rules
New file
@@ -0,0 +1 @@
KERNEL=="kvm", GROUP="kvm", MODE="0666"
SOURCES/99-qemu-guest-agent.rules
New file
@@ -0,0 +1,2 @@
SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \
  TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
SOURCES/block-add-block-driver-read-only-whitelist.patch
New file
@@ -0,0 +1,284 @@
From e04d52892c7fcd0e2ec70f77f3e5b934d45918c8 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 31 Jul 2013 09:56:17 +0200
Subject: block: add block driver read only whitelist
Message-id: <6873f36f1d3c26ad7b84bf2150c0a98afd6c5e72.1375208619.git.mrezanin@redhat.com>
Patchwork-id: 52827
O-Subject: [RHEL7 qemu-kvm PATCH 4.5/5] block: add block driver read only whitelist
Bugzilla: 836675
RH-Acked-by: Fam Zheng <famz@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
From: Fam Zheng <famz@redhat.com>
This is missing patch required for "VMDK Backports and Spec Update" serie.
We may want to include a driver in the whitelist for read only tasks
such as diagnosing or exporting guest data (with libguestfs as a good
example). This patch introduces a readonly whitelist option, and for
backward compatibility, the old configure option --block-drv-whitelist
is now an alias to rw whitelist.
Drivers in readonly list is only permitted to open file readonly, and
returns -ENOTSUP for RW opening.
E.g. To include vmdk readonly, and others read+write:
    ./configure --target-list=x86_64-softmmu \
                --block-drv-rw-whitelist=qcow2,raw,file,qed \
                --block-drv-ro-whitelist=vmdk
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit b64ec4e4ade581d662753cdeb0d7e0e27aafbf81)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/block.c b/block.c
index 3f87489..65c0b60 100644
--- a/block.c
+++ b/block.c
@@ -328,28 +328,40 @@ BlockDriver *bdrv_find_format(const char *format_name)
     return NULL;
 }
-static int bdrv_is_whitelisted(BlockDriver *drv)
+static int bdrv_is_whitelisted(BlockDriver *drv, bool read_only)
 {
-    static const char *whitelist[] = {
-        CONFIG_BDRV_WHITELIST
+    static const char *whitelist_rw[] = {
+        CONFIG_BDRV_RW_WHITELIST
+    };
+    static const char *whitelist_ro[] = {
+        CONFIG_BDRV_RO_WHITELIST
     };
     const char **p;
-    if (!whitelist[0])
+    if (!whitelist_rw[0] && !whitelist_ro[0]) {
         return 1;               /* no whitelist, anything goes */
+    }
-    for (p = whitelist; *p; p++) {
+    for (p = whitelist_rw; *p; p++) {
         if (!strcmp(drv->format_name, *p)) {
             return 1;
         }
     }
+    if (read_only) {
+        for (p = whitelist_ro; *p; p++) {
+            if (!strcmp(drv->format_name, *p)) {
+                return 1;
+            }
+        }
+    }
     return 0;
 }
-BlockDriver *bdrv_find_whitelisted_format(const char *format_name)
+BlockDriver *bdrv_find_whitelisted_format(const char *format_name,
+                                          bool read_only)
 {
     BlockDriver *drv = bdrv_find_format(format_name);
-    return drv && bdrv_is_whitelisted(drv) ? drv : NULL;
+    return drv && bdrv_is_whitelisted(drv, read_only) ? drv : NULL;
 }
 typedef struct CreateCo {
@@ -684,10 +696,6 @@ static int bdrv_open_common(BlockDriverState *bs, BlockDriverState *file,
     trace_bdrv_open_common(bs, filename ?: "", flags, drv->format_name);
-    if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv)) {
-        return -ENOTSUP;
-    }
-
     /* bdrv_open() with directly using a protocol as drv. This layer is already
      * opened, so assign it to bs (while file becomes a closed BlockDriverState)
      * and return immediately. */
@@ -698,9 +706,15 @@ static int bdrv_open_common(BlockDriverState *bs, BlockDriverState *file,
     bs->open_flags = flags;
     bs->buffer_alignment = 512;
+    open_flags = bdrv_open_flags(bs, flags);
+    bs->read_only = !(open_flags & BDRV_O_RDWR);
+
+    if (use_bdrv_whitelist && !bdrv_is_whitelisted(drv, bs->read_only)) {
+        return -ENOTSUP;
+    }
     assert(bs->copy_on_read == 0); /* bdrv_new() and bdrv_close() make it so */
-    if ((flags & BDRV_O_RDWR) && (flags & BDRV_O_COPY_ON_READ)) {
+    if (!bs->read_only && (flags & BDRV_O_COPY_ON_READ)) {
         bdrv_enable_copy_on_read(bs);
     }
@@ -714,9 +728,6 @@ static int bdrv_open_common(BlockDriverState *bs, BlockDriverState *file,
     bs->opaque = g_malloc0(drv->instance_size);
     bs->enable_write_cache = !!(flags & BDRV_O_CACHE_WB);
-    open_flags = bdrv_open_flags(bs, flags);
-
-    bs->read_only = !(open_flags & BDRV_O_RDWR);
     /* Open the image, either directly or using a protocol */
     if (drv->bdrv_file_open) {
@@ -801,7 +812,7 @@ int bdrv_file_open(BlockDriverState **pbs, const char *filename,
     /* Find the right block driver */
     drvname = qdict_get_try_str(options, "driver");
     if (drvname) {
-        drv = bdrv_find_whitelisted_format(drvname);
+        drv = bdrv_find_whitelisted_format(drvname, !(flags & BDRV_O_RDWR));
         qdict_del(options, "driver");
     } else if (filename) {
         drv = bdrv_find_protocol(filename);
diff --git a/blockdev.c b/blockdev.c
index 625d041..6500c47 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -477,7 +477,7 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type)
             error_printf("\n");
             return NULL;
         }
-        drv = bdrv_find_whitelisted_format(buf);
+        drv = bdrv_find_whitelisted_format(buf, ro);
         if (!drv) {
             error_report("'%s' invalid format", buf);
             return NULL;
@@ -1024,7 +1024,7 @@ void qmp_change_blockdev(const char *device, const char *filename,
     }
     if (format) {
-        drv = bdrv_find_whitelisted_format(format);
+        drv = bdrv_find_whitelisted_format(format, bs->read_only);
         if (!drv) {
             error_set(errp, QERR_INVALID_BLOCK_FORMAT, format);
             return;
diff --git a/configure b/configure
index eb74510..a71e8a1 100755
--- a/configure
+++ b/configure
@@ -123,7 +123,8 @@ interp_prefix="/usr/gnemul/qemu-%M"
 static="no"
 cross_prefix=""
 audio_drv_list=""
-block_drv_whitelist=""
+block_drv_rw_whitelist=""
+block_drv_ro_whitelist=""
 host_cc="cc"
 libs_softmmu=""
 libs_tools=""
@@ -708,7 +709,9 @@ for opt do
   ;;
   --audio-drv-list=*) audio_drv_list="$optarg"
   ;;
-  --block-drv-whitelist=*) block_drv_whitelist=`echo "$optarg" | sed -e 's/,/ /g'`
+  --block-drv-rw-whitelist=*|--block-drv-whitelist=*) block_drv_rw_whitelist=`echo "$optarg" | sed -e 's/,/ /g'`
+  ;;
+  --block-drv-ro-whitelist=*) block_drv_ro_whitelist=`echo "$optarg" | sed -e 's/,/ /g'`
   ;;
   --enable-debug-tcg) debug_tcg="yes"
   ;;
@@ -1105,7 +1108,12 @@ echo "  --disable-cocoa          disable Cocoa (Mac OS X only)"
 echo "  --enable-cocoa           enable Cocoa (default on Mac OS X)"
 echo "  --audio-drv-list=LIST    set audio drivers list:"
 echo "                           Available drivers: $audio_possible_drivers"
-echo "  --block-drv-whitelist=L  set block driver whitelist"
+echo "  --block-drv-whitelist=L  Same as --block-drv-rw-whitelist=L"
+echo "  --block-drv-rw-whitelist=L"
+echo "                           set block driver read-write whitelist"
+echo "                           (affects only QEMU, not qemu-img)"
+echo "  --block-drv-ro-whitelist=L"
+echo "                           set block driver read-only whitelist"
 echo "                           (affects only QEMU, not qemu-img)"
 echo "  --enable-mixemu          enable mixer emulation"
 echo "  --disable-xen            disable xen backend driver support"
@@ -3525,7 +3533,8 @@ echo "curses support    $curses"
 echo "curl support      $curl"
 echo "mingw32 support   $mingw32"
 echo "Audio drivers     $audio_drv_list"
-echo "Block whitelist   $block_drv_whitelist"
+echo "Block whitelist (rw) $block_drv_rw_whitelist"
+echo "Block whitelist (ro) $block_drv_ro_whitelist"
 echo "Mixer emulation   $mixemu"
 echo "VirtFS support    $virtfs"
 echo "VNC support       $vnc"
@@ -3704,7 +3713,8 @@ fi
 if test "$audio_win_int" = "yes" ; then
   echo "CONFIG_AUDIO_WIN_INT=y" >> $config_host_mak
 fi
-echo "CONFIG_BDRV_WHITELIST=$block_drv_whitelist" >> $config_host_mak
+echo "CONFIG_BDRV_RW_WHITELIST=$block_drv_rw_whitelist" >> $config_host_mak
+echo "CONFIG_BDRV_RO_WHITELIST=$block_drv_ro_whitelist" >> $config_host_mak
 if test "$mixemu" = "yes" ; then
   echo "CONFIG_MIXEMU=y" >> $config_host_mak
 fi
diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index 0ac65d4..247f32f 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -780,11 +780,13 @@ static int blk_connect(struct XenDevice *xendev)
 {
     struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
     int pers, index, qflags;
+    bool readonly = true;
     /* read-only ? */
     qflags = BDRV_O_CACHE_WB | BDRV_O_NATIVE_AIO;
     if (strcmp(blkdev->mode, "w") == 0) {
         qflags |= BDRV_O_RDWR;
+        readonly = false;
     }
     /* init qemu block driver */
@@ -795,8 +797,10 @@ static int blk_connect(struct XenDevice *xendev)
         xen_be_printf(&blkdev->xendev, 2, "create new bdrv (xenbus setup)\n");
         blkdev->bs = bdrv_new(blkdev->dev);
         if (blkdev->bs) {
-            if (bdrv_open(blkdev->bs, blkdev->filename, NULL, qflags,
-                        bdrv_find_whitelisted_format(blkdev->fileproto)) != 0) {
+            BlockDriver *drv = bdrv_find_whitelisted_format(blkdev->fileproto,
+                                                           readonly);
+            if (bdrv_open(blkdev->bs,
+                          blkdev->filename, NULL, qflags, drv) != 0) {
                 bdrv_delete(blkdev->bs);
                 blkdev->bs = NULL;
             }
diff --git a/include/block/block.h b/include/block/block.h
index 1251c5c..5604418 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -124,7 +124,8 @@ void bdrv_init(void);
 void bdrv_init_with_whitelist(void);
 BlockDriver *bdrv_find_protocol(const char *filename);
 BlockDriver *bdrv_find_format(const char *format_name);
-BlockDriver *bdrv_find_whitelisted_format(const char *format_name);
+BlockDriver *bdrv_find_whitelisted_format(const char *format_name,
+                                          bool readonly);
 int bdrv_create(BlockDriver *drv, const char* filename,
     QEMUOptionParameter *options);
 int bdrv_create_file(const char* filename, QEMUOptionParameter *options);
diff --git a/scripts/create_config b/scripts/create_config
index c471e8c..258513a 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -34,8 +34,15 @@ case $line in
     done
     echo ""
     ;;
- CONFIG_BDRV_WHITELIST=*)
-    echo "#define CONFIG_BDRV_WHITELIST \\"
+ CONFIG_BDRV_RW_WHITELIST=*)
+    echo "#define CONFIG_BDRV_RW_WHITELIST\\"
+    for drv in ${line#*=}; do
+      echo "    \"${drv}\",\\"
+    done
+    echo "    NULL"
+    ;;
+ CONFIG_BDRV_RO_WHITELIST=*)
+    echo "#define CONFIG_BDRV_RO_WHITELIST\\"
     for drv in ${line#*=}; do
       echo "    \"${drv}\",\\"
     done
SOURCES/bridge.conf
New file
@@ -0,0 +1 @@
allow virbr0
SOURCES/change-path-from-qemu-to-qemu-kvm.patch
New file
@@ -0,0 +1,37 @@
From 27267616896168fe1177c42a73246a8a9c551be3 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Thu, 11 Apr 2013 11:07:31 +0200
Subject: Change qemu to qemu-kvm
We use qemu-kvm as name for RHEL 7. This patch fixes various pathes and files that uses qemu so they use qemu-kvm instead.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/os-posix.c b/os-posix.c
index d39261d..3a4678a 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -82,7 +82,7 @@ void os_setup_signal_handling(void)
 /* Find a likely location for support files using the location of the binary.
    For installed binaries this will be "$bindir/../share/qemu".  When
    running from the build tree this will be "$bindir/../pc-bios".  */
-#define SHARE_SUFFIX "/share/qemu"
+#define SHARE_SUFFIX "/share/qemu-kvm"
 #define BUILD_SUFFIX "/pc-bios"
 char *os_find_datadir(const char *argv0)
 {
diff --git a/redhat/qemu-kvm.spec.template b/redhat/qemu-kvm.spec.template
index 84088eb..646eb1a 100644
diff --git a/ui/vnc.c b/ui/vnc.c
index dfc7459..3726352 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3260,7 +3260,7 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
     }
 #ifdef CONFIG_VNC_SASL
-    if ((saslErr = sasl_server_init(NULL, "qemu")) != SASL_OK) {
+    if ((saslErr = sasl_server_init(NULL, "qemu-kvm")) != SASL_OK) {
         error_setg(errp, "Failed to initialize SASL auth: %s",
                    sasl_errstring(saslErr, NULL, NULL));
         goto fail;
SOURCES/disable-hpet-device.patch
New file
@@ -0,0 +1,35 @@
From 94ee0c3faaaf6a225f605e00ff623ba9792cedfc Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 22 May 2013 12:23:00 +0200
Subject: Disable HPET device
Bugzilla: 947441
We do not support HPET, disabling it.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index fb6caaf..cf6ee9f 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -21,7 +21,6 @@ CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
 CONFIG_PIIX_PCI=y
-CONFIG_HPET=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=$(CONFIG_TPM)
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 69cdda0..4234f00 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -21,7 +21,6 @@ CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
 CONFIG_PIIX_PCI=y
-CONFIG_HPET=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=$(CONFIG_TPM)
SOURCES/disable-unsupported-audio-devices.patch
New file
@@ -0,0 +1,32 @@
From be17223dfe2b717322f878fbfa9e354be73f1569 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 19 Mar 2013 07:37:43 -0400
Subject: Disable unsupported audio devices
Bugzilla: 921974
Only AC97 and Intel HDA are supported audio devices. Limit build only to these devices.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 87334a4..a5dee5d 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -10,7 +10,6 @@ CONFIG_PCNET_PCI=y
 CONFIG_PCNET_COMMON=y
 CONFIG_AC97=y
 CONFIG_HDA=y
-CONFIG_ES1370=y
 CONFIG_RTL8139_PCI=y
 CONFIG_E1000_PCI=y
 CONFIG_VMXNET3_PCI=y
diff --git a/default-configs/sound.mak b/default-configs/sound.mak
index 4f22c34..e69de29 100644
--- a/default-configs/sound.mak
+++ b/default-configs/sound.mak
@@ -1,4 +0,0 @@
-CONFIG_SB16=y
-CONFIG_ADLIB=y
-CONFIG_GUS=y
-CONFIG_CS4231A=y
SOURCES/disable-unsupported-emulated-network-devices.patch
New file
@@ -0,0 +1,155 @@
From 79b7ddc06f610199104fbb77fded7ed250056624 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 22 May 2013 11:59:23 +0200
Subject: Disable unsupported emulated network devices
Bugzilla: 921974
Disable following network devices as they are not supported:
- ne2k_isa
- ne2k_pci
- pcnet
- vmxnet3
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index b208e10..fb6caaf 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -20,7 +20,6 @@ CONFIG_APM=y
 CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_PIIX_PCI=y
 CONFIG_HPET=y
 CONFIG_I8259=y
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index 4fed1ca..3c5fb43 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -22,7 +22,6 @@ CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_RC4030=y
 CONFIG_DP8393X=y
 CONFIG_DS1225Y=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index 5e4e758..c05d44a 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -22,7 +22,6 @@ CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_RC4030=y
 CONFIG_DP8393X=y
 CONFIG_DS1225Y=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index cc54619..40aaea5 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -23,7 +23,6 @@ CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
 CONFIG_IDE_VIA=y
-CONFIG_NE2000_ISA=y
 CONFIG_RC4030=y
 CONFIG_DP8393X=y
 CONFIG_DS1225Y=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index 1e59e68..ca44d0e 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -22,7 +22,6 @@ CONFIG_I8257=y
 CONFIG_PIIX4=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_RC4030=y
 CONFIG_DP8393X=y
 CONFIG_DS1225Y=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index a5dee5d..c0fb0ae 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -4,15 +4,11 @@ CONFIG_VIRTIO=y
 CONFIG_USB_UHCI=y
 CONFIG_USB_EHCI=y
 CONFIG_USB_XHCI=y
-CONFIG_NE2000_PCI=y
 CONFIG_EEPRO100_PCI=y
-CONFIG_PCNET_PCI=y
-CONFIG_PCNET_COMMON=y
 CONFIG_AC97=y
 CONFIG_HDA=y
 CONFIG_RTL8139_PCI=y
 CONFIG_E1000_PCI=y
-CONFIG_VMXNET3_PCI=y
 CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index cc3587f..5f70181 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -34,7 +34,6 @@ CONFIG_PPCE500_PCI=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
 CONFIG_IDE_MACIO=y
-CONFIG_NE2000_ISA=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 884ea8a..0e8ff62 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -34,7 +34,6 @@ CONFIG_PPCE500_PCI=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
 CONFIG_IDE_MACIO=y
-CONFIG_NE2000_ISA=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index be93e03..a8ab6e3 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -29,7 +29,6 @@ CONFIG_PPCE500_PCI=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_CMD646=y
 CONFIG_IDE_MACIO=y
-CONFIG_NE2000_ISA=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_PTIMER=y
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/sparc-softmmu.mak
index 8fc93dd..ddba71d 100644
--- a/default-configs/sparc-softmmu.mak
+++ b/default-configs/sparc-softmmu.mak
@@ -7,7 +7,6 @@ CONFIG_M48T59=y
 CONFIG_PTIMER=y
 CONFIG_FDC=y
 CONFIG_EMPTY_SLOT=y
-CONFIG_PCNET_COMMON=y
 CONFIG_LANCE=y
 CONFIG_TCX=y
 CONFIG_SLAVIO=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index bd3a533..69cdda0 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -20,7 +20,6 @@ CONFIG_APM=y
 CONFIG_I8257=y
 CONFIG_IDE_ISA=y
 CONFIG_IDE_PIIX=y
-CONFIG_NE2000_ISA=y
 CONFIG_PIIX_PCI=y
 CONFIG_HPET=y
 CONFIG_I8259=y
SOURCES/disable-unsupported-emulated-scsi-devices.patch
New file
@@ -0,0 +1,40 @@
From f991d8c7f0d19ccc948ec6540487649adf20d99b Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 22 May 2013 08:45:03 +0200
Subject: Disable unsupported emulated SCSI devices
Bugzilla: 903918
We do not support following device so it has to be disabled:
- lsi53c895a
- am53c974
- dc390
- esp
- megasas
- pvscsi
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 78f1579..8ef7e50 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -11,9 +11,6 @@ CONFIG_PCNET_COMMON=y
 CONFIG_AC97=y
 CONFIG_HDA=y
 CONFIG_ES1370=y
-CONFIG_LSI_SCSI_PCI=y
-CONFIG_VMW_PVSCSI_SCSI_PCI=y
-CONFIG_MEGASAS_SCSI_PCI=y
 CONFIG_RTL8139_PCI=y
 CONFIG_E1000_PCI=y
 CONFIG_VMXNET3_PCI=y
@@ -21,8 +18,6 @@ CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_IDE_PCI=y
 CONFIG_AHCI=y
-CONFIG_ESP=y
-CONFIG_ESP_PCI=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_PCI=y
 CONFIG_IPACK=y
SOURCES/disable-unsupported-usb-devices.patch
New file
@@ -0,0 +1,40 @@
From ca2d050f0de557b4955f019402428487176925b6 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Mon, 22 Apr 2013 14:38:38 +0200
Subject: Disable unsupported usb devices
Bugzilla: 903914
Patch deactivates device we do not support in RHEL7:
- usb-audio
- usb-braille
- usb-bt-dongle
- usb-net
- usb-serial
- usb-wacom-tablet
- pci-ohci
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index d557eab..78f1579 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -2,7 +2,6 @@ CONFIG_PCI=y
 CONFIG_VIRTIO_PCI=y
 CONFIG_VIRTIO=y
 CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
 CONFIG_USB_EHCI=y
 CONFIG_USB_XHCI=y
 CONFIG_NE2000_PCI=y
diff --git a/default-configs/usb.mak b/default-configs/usb.mak
index 1bf9075..9a3bd09 100644
--- a/default-configs/usb.mak
+++ b/default-configs/usb.mak
@@ -2,7 +2,3 @@ CONFIG_USB_TABLET_WACOM=y
 CONFIG_USB_STORAGE_BOT=y
 CONFIG_USB_STORAGE_UAS=y
 CONFIG_USB_SMARTCARD=y
-CONFIG_USB_AUDIO=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_NETWORK=y
-CONFIG_USB_BLUETOOTH=y
SOURCES/disable-various-unsupported-devices.patch
New file
@@ -0,0 +1,127 @@
From 7a81bbb17a540bf7b83142333a9610c1d642ba09 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Tue, 19 Mar 2013 09:03:29 -0400
Subject: Disable various unsupported devices
Bugzilla: 921971
Disable following emulated devices we do not support:
- isa-applesmc
- vmware-svga
- ipoctal232
- tpci200
- ipack
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index 18e5337..f2792ad 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_PCI=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
-CONFIG_VMWARE_VGA=y
 CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
 CONFIG_MC146818RTC=y
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index 03deca2..b208e10 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -8,7 +8,6 @@ CONFIG_QXL=$(CONFIG_SPICE)
 CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_VMMOUSE=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
@@ -24,7 +23,6 @@ CONFIG_IDE_PIIX=y
 CONFIG_NE2000_ISA=y
 CONFIG_PIIX_PCI=y
 CONFIG_HPET=y
-CONFIG_APPLESMC=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=$(CONFIG_TPM)
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index b443702..4fed1ca 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
 CONFIG_I8254=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index d638957..5e4e758 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
 CONFIG_I8254=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index c9be3f4..cc54619 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
 CONFIG_I8254=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index 4f4a449..1e59e68 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
 CONFIG_I8254=y
diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index 8ef7e50..87334a4 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -20,6 +20,5 @@ CONFIG_IDE_PCI=y
 CONFIG_AHCI=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_PCI=y
-CONFIG_IPACK=y
 CONFIG_WDT_IB6300ESB=y
 CONFIG_PCI_TESTDEV=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 599b630..bd3a533 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -8,7 +8,6 @@ CONFIG_QXL=$(CONFIG_SPICE)
 CONFIG_VGA_PCI=y
 CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
-CONFIG_VMWARE_VGA=y
 CONFIG_VMMOUSE=y
 CONFIG_SERIAL=y
 CONFIG_PARALLEL=y
@@ -24,7 +23,6 @@ CONFIG_IDE_PIIX=y
 CONFIG_NE2000_ISA=y
 CONFIG_PIIX_PCI=y
 CONFIG_HPET=y
-CONFIG_APPLESMC=y
 CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
 CONFIG_TPM_TIS=$(CONFIG_TPM)
SOURCES/e1000-Keep-capabilities-list-bit-on-for-older-RHEL-machine-types.patch
New file
@@ -0,0 +1,49 @@
From 5278c98d70ef98926e47b226cf5e40decc7ac7ca Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 31 Jul 2013 08:06:40 +0200
Subject: e1000: Keep capabilities list bit on for older RHEL machine types
Message-id: <1375201922-6794-16-git-send-email-armbru@redhat.com>
Patchwork-id: 52825
O-Subject: [RHEL-7 PATCH v3 15/15] e1000: Keep capabilities list bit on for older RHEL machine types
Bugzilla: 983991
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Bandan Das <bsd@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Upstream commit dd8e937 "e1000: Don't set the Capabilities List bit"
switched it off.  The necessary compat_props to keep it on for old
machine types were forgotten.
The RHEL-6 backport commit 2d76e3e added property
e1000.x-__com_redhat_rhel630_compat, set it for 6.3 and older via
compat_props, and made setting the capabilities list bit depend on it
being set.
Instead of porting the RHEL-only property forward to RHEL-7, use
upstream's e1000.autonegotiation, which is on for 6.4 and newer, else
off.  This is admittedly a hack.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index e6f46f0..661b461 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -1324,6 +1324,16 @@ static int pci_e1000_init(PCIDevice *pci_dev)
     pci_conf = d->dev.config;
+    if (!(d->compat_flags & E1000_FLAG_AUTONEG)) {
+        /*
+         * We have no capabilities, so capability list bit should normally be 0.
+         * Keep it on for compat machine types to avoid breaking migration.
+         * HACK: abuse E1000_FLAG_AUTONEG, which is off exactly for
+         * the machine types that need this.
+         */
+        pci_set_word(pci_conf + PCI_STATUS, PCI_STATUS_CAP_LIST);
+    }
+
     /* TODO: RST# value should be 0, PCI spec 6.2.4 */
     pci_conf[PCI_CACHE_LINE_SIZE] = 0x10;
SOURCES/ksm.service
New file
@@ -0,0 +1,13 @@
[Unit]
Description=Kernel Samepage Merging
ConditionPathExists=/sys/kernel/mm/ksm
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=-/etc/sysconfig/ksm
ExecStart=/lib/systemd/ksmctl start
ExecStop=/lib/systemd/ksmctl stop
[Install]
WantedBy=multi-user.target
SOURCES/ksm.sysconfig
New file
@@ -0,0 +1,4 @@
# The maximum number of unswappable kernel pages
# which may be allocated by ksm (0 for unlimited)
# If unset, defaults to half of total memory
# KSM_MAX_KERNEL_PAGES=
SOURCES/ksmctl.c
New file
@@ -0,0 +1,77 @@
/* Start/stop KSM, for systemd.
 * Copyright (C) 2009, 2011 Red Hat, Inc.
 * Written by Paolo Bonzini <pbonzini@redhat.com>.
 * Based on the original sysvinit script by Dan Kenigsberg <danken@redhat.com>
 * This file is distributed under the GNU General Public License, version 2
 * or later.  */
#include <unistd.h>
#include <stdio.h>
#include <limits.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#define KSM_MAX_KERNEL_PAGES_FILE "/sys/kernel/mm/ksm/max_kernel_pages"
#define KSM_RUN_FILE          "/sys/kernel/mm/ksm/run"
char *program_name;
int usage(void)
{
    fprintf(stderr, "Usage: %s {start|stop}\n", program_name);
    return 1;
}
int write_value(uint64_t value, char *filename)
{
    FILE *fp;
    if (!(fp = fopen(filename, "w")) ||
        fprintf(fp, "%llu\n", (unsigned long long) value) == EOF ||
        fflush(fp) == EOF ||
        fclose(fp) == EOF)
        return 1;
    return 0;
}
uint64_t ksm_max_kernel_pages()
{
    char *var = getenv("KSM_MAX_KERNEL_PAGES");
    char *endptr;
    uint64_t value;
    if (var && *var) {
        value = strtoll(var, &endptr, 0);
        if (value < LLONG_MAX && !*endptr)
            return value;
    }
    /* Unless KSM_MAX_KERNEL_PAGES is set, let KSM munch up to half of
     * total memory.  */
    return sysconf(_SC_PHYS_PAGES) / 2;
}
int start(void)
{
    if (access(KSM_MAX_KERNEL_PAGES_FILE, R_OK) >= 0)
        write_value(ksm_max_kernel_pages(), KSM_MAX_KERNEL_PAGES_FILE);
    return write_value(1, KSM_RUN_FILE);
}
int stop(void)
{
    return write_value(0, KSM_RUN_FILE);
}
int main(int argc, char **argv)
{
    program_name = argv[0];
    if (argc < 2) {
        return usage();
    } else if (!strcmp(argv[1], "start")) {
        return start();
    } else if (!strcmp(argv[1], "stop")) {
        return stop();
    } else {
        return usage();
    }
}
SOURCES/ksmtuned
New file
@@ -0,0 +1,137 @@
#!/bin/bash
#
# Copyright 2009 Red Hat, Inc. and/or its affiliates.
# Released under the GPL
#
# Author:      Dan Kenigsberg <danken@redhat.com>
#
# ksmtuned - a simple script that controls whether (and with what vigor) ksm
# should search for duplicated pages.
#
# starts ksm when memory commited to qemu processes exceeds a threshold, and
# make ksm work harder and harder untill memory load falls below that
# threshold.
#
# send SIGUSR1 to this process right after a new qemu process is started, or
# following its death, to retune ksm accordingly
#
# needs testing and ironing. contact danken@redhat.com if something breaks.
if [ -f /etc/ksmtuned.conf ]; then
    . /etc/ksmtuned.conf
fi
debug() {
    if [ -n "$DEBUG" ]; then
        s="`/bin/date`: $*"
        [ -n "$LOGFILE" ] && echo "$s" >> "$LOGFILE" || echo "$s"
    fi
}
KSM_MONITOR_INTERVAL=${KSM_MONITOR_INTERVAL:-60}
KSM_NPAGES_BOOST=${KSM_NPAGES_BOOST:-300}
KSM_NPAGES_DECAY=${KSM_NPAGES_DECAY:--50}
KSM_NPAGES_MIN=${KSM_NPAGES_MIN:-64}
KSM_NPAGES_MAX=${KSM_NPAGES_MAX:-1250}
# millisecond sleep between ksm scans for 16Gb server. Smaller servers sleep
# more, bigger sleep less.
KSM_SLEEP_MSEC=${KSM_SLEEP_MSEC:-10}
KSM_THRES_COEF=${KSM_THRES_COEF:-20}
KSM_THRES_CONST=${KSM_THRES_CONST:-2048}
total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
debug total $total
npages=0
sleep=$[KSM_SLEEP_MSEC * 16 * 1024 * 1024 / total]
[ $sleep -le 10 ] && sleep=10
debug sleep $sleep
thres=$[total * KSM_THRES_COEF / 100]
if [ $KSM_THRES_CONST -gt $thres ]; then
    thres=$KSM_THRES_CONST
fi
debug thres $thres
KSMCTL () {
    case x$1 in
        xstop)
            echo 0 > /sys/kernel/mm/ksm/run
            ;;
        xstart)
            echo $2 > /sys/kernel/mm/ksm/pages_to_scan
            echo $3 > /sys/kernel/mm/ksm/sleep_millisecs
            echo 1 > /sys/kernel/mm/ksm/run
            ;;
    esac
}
committed_memory () {
    # calculate how much memory is committed to running qemu processes
    local progname
    progname=${1:-qemu-kvm}
    ps -C "$progname" -o rsz | awk '{ sum += $1 }; END { print sum }'
}
free_memory () {
    awk '/^(MemFree|Buffers|Cached):/ {free += $2}; END {print free}' \
                /proc/meminfo
}
increase_npages() {
    local delta
    delta=${1:-0}
    npages=$[npages + delta]
    if [ $npages -lt $KSM_NPAGES_MIN ]; then
        npages=$KSM_NPAGES_MIN
    elif [ $npages -gt $KSM_NPAGES_MAX ]; then
        npages=$KSM_NPAGES_MAX
    fi
    echo $npages
}
adjust () {
    local free committed
    free=`free_memory`
    committed=`committed_memory`
    debug committed $committed free $free
    if [ $[committed + thres] -lt $total -a $free -gt $thres ]; then
        KSMCTL stop
        debug "$[committed + thres] < $total and free > $thres, stop ksm"
        return 1
    fi
    debug "$[committed + thres] > $total, start ksm"
    if [ $free -lt $thres ]; then
        npages=`increase_npages $KSM_NPAGES_BOOST`
        debug "$free < $thres, boost"
    else
        npages=`increase_npages $KSM_NPAGES_DECAY`
        debug "$free > $thres, decay"
    fi
    KSMCTL start $npages $sleep
    debug "KSMCTL start $npages $sleep"
    return 0
}
function nothing () {
    :
}
loop () {
    trap nothing SIGUSR1
    while true
    do
        sleep $KSM_MONITOR_INTERVAL &
        wait $!
        adjust
    done
}
PIDFILE=${PIDFILE-/var/run/ksmtune.pid}
if touch "$PIDFILE"; then
  loop &
  echo $! > "$PIDFILE"
fi
SOURCES/ksmtuned.conf
New file
@@ -0,0 +1,21 @@
# Configuration file for ksmtuned.
# How long ksmtuned should sleep between tuning adjustments
# KSM_MONITOR_INTERVAL=60
# Millisecond sleep between ksm scans for 16Gb server.
# Smaller servers sleep more, bigger sleep less.
# KSM_SLEEP_MSEC=10
# KSM_NPAGES_BOOST=300
# KSM_NPAGES_DECAY=-50
# KSM_NPAGES_MIN=64
# KSM_NPAGES_MAX=1250
# KSM_THRES_COEF=20
# KSM_THRES_CONST=2048
# uncomment the following if you want ksmtuned debug info
# LOGFILE=/var/log/ksmtuned
# DEBUG=1
SOURCES/ksmtuned.service
New file
@@ -0,0 +1,12 @@
[Unit]
Description=Kernel Samepage Merging (KSM) Tuning Daemon
After=ksm.service
Requires=ksm.service
[Service]
ExecStart=/usr/sbin/ksmtuned
ExecReload=/bin/kill -USR1 $MAINPID
Type=forking
[Install]
WantedBy=multi-user.target
SOURCES/kvm-Build-ceph-rbd-only-for-rhev.patch
New file
@@ -0,0 +1,100 @@
From 5d5af5b18e07ef4c97a45feeaad3fe493d38f427 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 6 Nov 2013 15:43:26 +0100
Subject: [PATCH 60/81] Build ceph/rbd only for rhev
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
Message-id: <58854c39ceb485b1ea685c02398db4462493dd35.1383752552.git.mrezanin@redhat.com>
Patchwork-id: 55544
O-Subject: [RHEL7 qemu-kvm PATCH] Build ceph/rbd only for rhev
Bugzilla: 987583
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
From: Miroslav Rezanina <mrezanin@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=987583
Brewbuild: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=6536646 (RHEL)
Brewbuild: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=6536615 (RHEV)
We support ceph/rbd only for rhev qemu-kvm so it has to be disabled for rhel
qemu-kvm. This patch forwardport RHEL-6 way of disabling rbd but use new
way of handling introduced by Jeff Cody.
This patch is based on Jeff's "RHEL Storage Differentiation" series and should be
applied with it. Both brew build include all 4 differentiation patches.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 block/Makefile.objs           |  2 +-
 configure                     | 11 +++++++++++
 redhat/qemu-kvm.spec.template |  6 ++++++
 3 files changed, 18 insertions(+), 1 deletion(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 block/Makefile.objs           |    2 +-
 configure                     |   11 +++++++++++
 redhat/qemu-kvm.spec.template |    6 ++++++
 3 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/block/Makefile.objs b/block/Makefile.objs
index f355271..41a284b 100644
--- a/block/Makefile.objs
+++ b/block/Makefile.objs
@@ -12,7 +12,7 @@ ifeq ($(CONFIG_POSIX),y)
 block-obj-y += nbd.o sheepdog.o
 block-obj-$(CONFIG_LIBISCSI) += iscsi.o
 block-obj-$(CONFIG_CURL) += curl.o
-block-obj-y += rbd.o
+block-obj-$(CONFIG_CEPH_SUPPORT) += rbd.o
 block-obj-$(CONFIG_GLUSTERFS) += gluster.o
 block-obj-$(CONFIG_LIBSSH2) += ssh.o
 endif
diff --git a/configure b/configure
index d658434..1af1079 100755
--- a/configure
+++ b/configure
@@ -242,6 +242,7 @@ tpm="no"
 libssh2=""
 live_block_ops="yes"
 live_block_migration="no"
+ceph_support="yes"
 # parse CC options first
 for opt do
@@ -937,6 +938,10 @@ for opt do
   ;;
   --enable-live-block-migration) live_block_migration="yes"
   ;;
+  --disable-ceph-support) ceph_support=="no"
+  ;;
+  --enable-ceph-support) ceph_support=="yes"
+  ;;
 *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
@@ -1209,6 +1214,8 @@ echo "  --disable-live-block-ops disable live block operations support"
 echo "  --enable-live-block-ops  enable live block operations support"
 echo "  --disable-live-block-migration disable live block migration"
 echo "  --enable-live-block-migration  enable live block migration"
+echo "  --disable-ceph-support   disable support for rbd block driver support"
+echo "  --enable-ceph-support    enable support for rbd block driver support"
 echo ""
 echo "NOTE: The object files are built at the place where configure is launched"
 exit 1
@@ -3964,6 +3971,10 @@ if test "$live_block_migration" = "yes" ; then
   echo "CONFIG_LIVE_BLOCK_MIGRATION=y" >> $config_host_mak
 fi
+if test "ceph_support" = "yes"; then
+  echo "CONFIG_CEPH_SUPPORT=y" >> $config_host_mak
+fi
+
 # USB host support
 if test "$libusb" = "yes"; then
   echo "HOST_USB=libusb legacy" >> $config_host_mak
--
1.7.1
SOURCES/kvm-Convert-stderr-message-calling-error_get_pretty-to-e.patch
New file
@@ -0,0 +1,219 @@
From a52fe59a941e8cfa7b94ecc743ffcfcf0e1bcda7 Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Wed, 28 Aug 2013 15:50:45 +0200
Subject: [PATCH 28/28] Convert stderr message calling error_get_pretty() to error_report()
RH-Author: Laszlo Ersek <lersek@redhat.com>
Message-id: <1377705045-1054-3-git-send-email-lersek@redhat.com>
Patchwork-id: 53887
O-Subject: [RHEL-7 qemu-kvm PATCH v3 2/2] Convert stderr message calling error_get_pretty() to error_report()
Bugzilla: 906937
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Convert stderr messages calling error_get_pretty()
to error_report().
Timestamp is prepended by -msg timstamp option with it.
Per Markus's comment below, A conversion from fprintf() to
error_report() is always an improvement, regardless of
error_get_pretty().
http://marc.info/?l=qemu-devel&m=137513283408601&w=2
But, it is not reasonable to convert them at one time
because fprintf() is used everwhere in qemu.
So, it should be done step by step with avoiding regression.
Signed-off-by: Seiji Aguchi <seiji.aguchi@hds.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
(cherry picked from commit 4a44d85e28bd282f53ccf0fa933dd71b8744a229)
Conflicts:
    hw/char/serial.c
RHEL-7 notes:
- I dropped the "hw/char/serial.c" hunks because they depend on
  upstream commit db895a1e ("isa: Use realizefn for ISADevice"):
  -    serial_init_core(s);
  +    serial_realize_core(s, &err);
  Upstream commit db895a1e was first tagged in v1.6.0-rc0 and we don't
  have it.
  Instead, I replaced the fprintf(stderr, ...) call in serial_init_core()
  with a matching error_report() call, following Stefan's review of v2
  2/2.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 arch_init.c                 |    4 ++--
 hw/char/serial.c            |    3 ++-
 hw/i386/pc.c                |    6 +++---
 qemu-char.c                 |    2 +-
 target-i386/cpu.c           |    2 +-
 target-ppc/translate_init.c |    3 ++-
 vl.c                        |    9 +++++----
 7 files changed, 16 insertions(+), 13 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 arch_init.c                 |    4 ++--
 hw/char/serial.c            |    3 ++-
 hw/i386/pc.c                |    6 +++---
 qemu-char.c                 |    2 +-
 target-i386/cpu.c           |    2 +-
 target-ppc/translate_init.c |    3 ++-
 vl.c                        |    9 +++++----
 7 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/arch_init.c b/arch_init.c
index 30edd5f..cd2bb5a 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -1069,8 +1069,8 @@ void do_acpitable_option(const QemuOpts *opts)
     acpi_table_add(opts, &err);
     if (err) {
-        fprintf(stderr, "Wrong acpi table provided: %s\n",
-                error_get_pretty(err));
+        error_report("Wrong acpi table provided: %s",
+                     error_get_pretty(err));
         error_free(err);
         exit(1);
     }
diff --git a/hw/char/serial.c b/hw/char/serial.c
index 66b6348..0c472e2 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -27,6 +27,7 @@
 #include "sysemu/char.h"
 #include "qemu/timer.h"
 #include "exec/address-spaces.h"
+#include "qemu/error-report.h"
 //#define DEBUG_SERIAL
@@ -673,7 +674,7 @@ static void serial_reset(void *opaque)
 void serial_init_core(SerialState *s)
 {
     if (!s->chr) {
-        fprintf(stderr, "Can't create serial device, empty char device\n");
+        error_report("Can't create serial device, empty char device");
     exit(1);
     }
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index a7ecfb0..71b7a26 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -968,7 +968,7 @@ void pc_cpus_init(const char *cpu_model, DeviceState *icc_bridge)
         cpu = pc_new_cpu(cpu_model, x86_cpu_apic_id_from_index(i),
                          icc_bridge, &error);
         if (error) {
-            fprintf(stderr, "%s\n", error_get_pretty(error));
+            error_report("%s", error_get_pretty(error));
             error_free(error);
             exit(1);
         }
@@ -1007,8 +1007,8 @@ void pc_acpi_init(const char *default_dsdt)
         acpi_table_add(opts, &err);
         if (err) {
-            fprintf(stderr, "WARNING: failed to load %s: %s\n", filename,
-                    error_get_pretty(err));
+            error_report("WARNING: failed to load %s: %s", filename,
+                         error_get_pretty(err));
             error_free(err);
         }
         g_free(arg);
diff --git a/qemu-char.c b/qemu-char.c
index ccc9912..566267a 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3334,7 +3334,7 @@ CharDriverState *qemu_chr_new(const char *label, const char *filename, void (*in
     chr = qemu_chr_new_from_opts(opts, init, &err);
     if (error_is_set(&err)) {
-        fprintf(stderr, "%s\n", error_get_pretty(err));
+        error_report("%s", error_get_pretty(err));
         error_free(err);
     }
     if (chr && qemu_opt_get_bool(opts, "mux", 0)) {
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0ad8259..355375b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1847,7 +1847,7 @@ X86CPU *cpu_x86_init(const char *cpu_model)
 out:
     if (error) {
-        fprintf(stderr, "%s\n", error_get_pretty(error));
+        error_report("%s", error_get_pretty(error));
         error_free(error);
         if (cpu != NULL) {
             object_unref(OBJECT(cpu));
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 2e2bffa..5a12c0e 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -27,6 +27,7 @@
 #include "cpu-models.h"
 #include "mmu-hash32.h"
 #include "mmu-hash64.h"
+#include "qemu/error-report.h"
 //#define PPC_DUMP_CPU
 //#define PPC_DEBUG_SPR
@@ -8027,7 +8028,7 @@ PowerPCCPU *cpu_ppc_init(const char *cpu_model)
     object_property_set_bool(OBJECT(cpu), true, "realized", &err);
     if (err != NULL) {
-        fprintf(stderr, "%s\n", error_get_pretty(err));
+        error_report("%s", error_get_pretty(err));
         error_free(err);
         object_unref(OBJECT(cpu));
         return NULL;
diff --git a/vl.c b/vl.c
index 0ce554d..51c04e7 100644
--- a/vl.c
+++ b/vl.c
@@ -2363,7 +2363,7 @@ static int chardev_init_func(QemuOpts *opts, void *opaque)
     qemu_chr_new_from_opts(opts, NULL, &local_err);
     if (error_is_set(&local_err)) {
-        fprintf(stderr, "%s\n", error_get_pretty(local_err));
+        error_report("%s", error_get_pretty(local_err));
         error_free(local_err);
         return -1;
     }
@@ -4393,8 +4393,8 @@ int main(int argc, char **argv, char **envp)
         vnc_display_init(ds);
         vnc_display_open(ds, vnc_display, &local_err);
         if (local_err != NULL) {
-            fprintf(stderr, "Failed to start VNC server on `%s': %s\n",
-                    vnc_display, error_get_pretty(local_err));
+            error_report("Failed to start VNC server on `%s': %s",
+                         vnc_display, error_get_pretty(local_err));
             error_free(local_err);
             exit(1);
         }
@@ -4437,7 +4437,8 @@ int main(int argc, char **argv, char **envp)
         Error *local_err = NULL;
         qemu_start_incoming_migration(incoming, &local_err);
         if (local_err) {
-            fprintf(stderr, "-incoming %s: %s\n", incoming, error_get_pretty(local_err));
+            error_report("-incoming %s: %s", incoming,
+                         error_get_pretty(local_err));
             error_free(local_err);
             exit(1);
         }
--
1.7.1
SOURCES/kvm-Disable-isa-parallel.patch
New file
@@ -0,0 +1,158 @@
From 50a34ddf34ea04ffddc36b16401ddcb0c5679e80 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 30 Aug 2013 08:51:26 +0200
Subject: [PATCH 07/29] Disable isa-parallel
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
Message-id: <af1ecd3f05bb1687f7289955f88b7f1f4575fa3b.1377851454.git.mrezanin@redhat.com>
Patchwork-id: 53938
O-Subject: [RHEL7 qemu-kvm PATCHv2 6/6] Disable isa-parallel
Bugzilla: 1002286
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
From: Miroslav Rezanina <mrezanin@redhat.com>
We are not going to support isa-parallel device so disabling it.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
v2:
 - new patch
---
 default-configs/i386-softmmu.mak     | 1 -
 default-configs/mips-softmmu.mak     | 1 -
 default-configs/mips64-softmmu.mak   | 1 -
 default-configs/mips64el-softmmu.mak | 1 -
 default-configs/mipsel-softmmu.mak   | 1 -
 default-configs/ppc-softmmu.mak      | 1 -
 default-configs/ppc64-softmmu.mak    | 1 -
 default-configs/sparc64-softmmu.mak  | 1 -
 default-configs/x86_64-softmmu.mak   | 1 -
 9 files changed, 9 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 default-configs/i386-softmmu.mak     |    1 -
 default-configs/mips-softmmu.mak     |    1 -
 default-configs/mips64-softmmu.mak   |    1 -
 default-configs/mips64el-softmmu.mak |    1 -
 default-configs/mipsel-softmmu.mak   |    1 -
 default-configs/ppc-softmmu.mak      |    1 -
 default-configs/ppc64-softmmu.mak    |    1 -
 default-configs/sparc64-softmmu.mak  |    1 -
 default-configs/x86_64-softmmu.mak   |    1 -
 9 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmmu.mak
index cf6ee9f..54df7bd 100644
--- a/default-configs/i386-softmmu.mak
+++ b/default-configs/i386-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_VMMOUSE=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-softmmu.mak
index 3c5fb43..b4eef8c 100644
--- a/default-configs/mips-softmmu.mak
+++ b/default-configs/mips-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/mips64-softmmu.mak
index c05d44a..c7a9232 100644
--- a/default-configs/mips64-softmmu.mak
+++ b/default-configs/mips64-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/mips64el-softmmu.mak
index 40aaea5..79bdfdb 100644
--- a/default-configs/mips64el-softmmu.mak
+++ b/default-configs/mips64el-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/mipsel-softmmu.mak
index ca44d0e..beb6819 100644
--- a/default-configs/mipsel-softmmu.mak
+++ b/default-configs/mipsel-softmmu.mak
@@ -11,7 +11,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_ISA_MM=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 5f70181..7f6ea0f 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_M48T59=y
 CONFIG_VGA=y
 CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 0e8ff62..29a8be6 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_M48T59=y
 CONFIG_VGA=y
 CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak
index 9b08ee8..2998f34 100644
--- a/default-configs/sparc64-softmmu.mak
+++ b/default-configs/sparc64-softmmu.mak
@@ -8,7 +8,6 @@ CONFIG_PTIMER=y
 CONFIG_VGA=y
 CONFIG_VGA_PCI=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_PCKBD=y
 CONFIG_FDC=y
 CONFIG_IDE_ISA=y
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/x86_64-softmmu.mak
index 4234f00..05cc2a3 100644
--- a/default-configs/x86_64-softmmu.mak
+++ b/default-configs/x86_64-softmmu.mak
@@ -10,7 +10,6 @@ CONFIG_VGA_ISA=y
 CONFIG_VGA_CIRRUS=y
 CONFIG_VMMOUSE=y
 CONFIG_SERIAL=y
-CONFIG_PARALLEL=y
 CONFIG_I8254=y
 CONFIG_PCSPK=y
 CONFIG_PCKBD=y
--
1.7.1
SOURCES/kvm-Disable-usb-uas.patch
New file
@@ -0,0 +1,44 @@
From 99ea614bff3d383fbd6910ae0d66912fc15eba57 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 30 Aug 2013 08:51:23 +0200
Subject: [PATCH 04/29] Disable usb-uas
RH-Author: Miroslav Rezanina <mrezanin@redhat.com>
Message-id: <95623a002492b1f8117e0f99e2b1163f2a2a4071.1377851454.git.mrezanin@redhat.com>
Patchwork-id: 53934
O-Subject: [RHEL7 qemu-kvm PATCHv2 3/6] Disable usb-uas
Bugzilla: 903914
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
From: Miroslav Rezanina <mrezanin@redhat.com>
BZ: 903914
As usb3 streams are still broken, we do not need usb-uas device.
v2:
  - new patch
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 default-configs/usb.mak | 1 -
 1 file changed, 1 deletion(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 default-configs/usb.mak |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/default-configs/usb.mak b/default-configs/usb.mak
index 39a3552..55c37f0 100644
--- a/default-configs/usb.mak
+++ b/default-configs/usb.mak
@@ -1,3 +1,2 @@
 CONFIG_USB_STORAGE_BOT=y
-CONFIG_USB_STORAGE_UAS=y
 CONFIG_USB_SMARTCARD=y
--
1.7.1
SOURCES/kvm-Fix-machine-options-accel-kernel_irqchip-kvm_shadow_.patch
New file
@@ -0,0 +1,178 @@
From 63d9ae740b30071f01c5fd1196f077b635491530 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Tue, 6 Aug 2013 13:17:03 +0200
Subject: [PATCH 10/28] Fix -machine options accel, kernel_irqchip, kvm_shadow_mem
RH-Author: Markus Armbruster <armbru@redhat.com>
Message-id: <1375795025-28674-5-git-send-email-armbru@redhat.com>
Patchwork-id: 52993
O-Subject: [PATCH 7.0 qemu-kvm 4/6] Fix -machine options accel, kernel_irqchip, kvm_shadow_mem
Bugzilla: 980782
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
RH-Acked-by: Orit Wasserman <owasserm@redhat.com>
Multiple -machine options with the same ID are merged.  All but the
one without an ID are to be silently ignored.
In most places, we query these options with a null ID.  This is
correct.
In some places, we instead query whatever options come first in the
list.  This is wrong.  When the -machine processed first happens to
have an ID, options are taken from that ID, and the ones specified
without ID are silently ignored.
Example:
    $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on
    $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen
    $ upstream-qemu -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on
    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=kvm,usb=on
    QEMU 1.5.50 monitor - type 'help' for more information
    (qemu) info kvm
    kvm support: enabled
    (qemu) info usb
    (qemu) q
    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo -machine accel=kvm,usb=on
    QEMU 1.5.50 monitor - type 'help' for more information
    (qemu) info kvm
    kvm support: disabled
    (qemu) info usb
    (qemu) q
    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine id=foo,accel=kvm,usb=on -machine accel=xen
    QEMU 1.5.50 monitor - type 'help' for more information
    (qemu) info kvm
    kvm support: enabled
    (qemu) info usb
    USB support not enabled
    (qemu) q
    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -machine accel=xen -machine id=foo,accel=kvm,usb=on
    xc: error: Could not obtain handle on privileged command interface (2 = No such file or directory): Internal error
    xen be core: can't open xen interface
    failed to initialize Xen: Operation not permitted
Option usb is queried correctly, and the one without an ID wins,
regardless of option order.
Option accel is queried incorrectly, and which one wins depends on
option order and ID.
Affected options are accel (and its sugared forms -enable-kvm and
-no-kvm), kernel_irqchip, kvm_shadow_mem.
Additionally, option kernel_irqchip is normally on by default, except
it's off when no -machine options are given.  Bug can't bite, because
kernel_irqchip is used only when KVM is enabled, KVM is off by
default, and enabling always creates -machine options.  Downstreams
that enable KVM by default do get bitten, though.
Use qemu_get_machine_opts() to fix these bugs.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1372943363-24081-5-git-send-email-armbru@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
(cherry picked from commit 36ad0e948e15d8d86c8dec1c17a8588d87b0107d)
Conflicts:
    hw/ppc/e500.c
Conflicts, because we don't have commit d85937e "kvm/openpic:
in-kernel mpic support".  Resolution is trivial: drop the hunk.
There's a pasto in upstream's commit message.  The first paragraph
after "Example:" shouldn't be there.
---
 kvm-all.c         |  5 +----
 target-i386/kvm.c | 17 +++++++----------
 vl.c              |  8 ++------
 3 files changed, 10 insertions(+), 20 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 kvm-all.c         |    5 +----
 target-i386/kvm.c |   17 +++++++----------
 vl.c              |    8 ++------
 3 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index 8222729..6c9d51e 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1256,12 +1256,9 @@ int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
 static int kvm_irqchip_create(KVMState *s)
 {
-    QemuOptsList *list = qemu_find_opts("machine");
     int ret;
-    if (QTAILQ_EMPTY(&list->head) ||
-        !qemu_opt_get_bool(QTAILQ_FIRST(&list->head),
-                           "kernel_irqchip", true) ||
+    if (!qemu_opt_get_bool(qemu_get_machine_opts(), "kernel_irqchip", true) ||
         !kvm_check_extension(s, KVM_CAP_IRQCHIP)) {
         return 0;
     }
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 9ffb6ca..8da6a0d 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -741,7 +741,6 @@ static int kvm_get_supported_msrs(KVMState *s)
 int kvm_arch_init(KVMState *s)
 {
-    QemuOptsList *list = qemu_find_opts("machine");
     uint64_t identity_base = 0xfffbc000;
     uint64_t shadow_mem;
     int ret;
@@ -790,15 +789,13 @@ int kvm_arch_init(KVMState *s)
     }
     qemu_register_reset(kvm_unpoison_all, NULL);
-    if (!QTAILQ_EMPTY(&list->head)) {
-        shadow_mem = qemu_opt_get_size(QTAILQ_FIRST(&list->head),
-                                       "kvm_shadow_mem", -1);
-        if (shadow_mem != -1) {
-            shadow_mem /= 4096;
-            ret = kvm_vm_ioctl(s, KVM_SET_NR_MMU_PAGES, shadow_mem);
-            if (ret < 0) {
-                return ret;
-            }
+    shadow_mem = qemu_opt_get_size(qemu_get_machine_opts(),
+                                   "kvm_shadow_mem", -1);
+    if (shadow_mem != -1) {
+        shadow_mem /= 4096;
+        ret = kvm_vm_ioctl(s, KVM_SET_NR_MMU_PAGES, shadow_mem);
+        if (ret < 0) {
+            return ret;
         }
     }
     return 0;
diff --git a/vl.c b/vl.c
index fe58eff..0ed9257 100644
--- a/vl.c
+++ b/vl.c
@@ -2661,17 +2661,13 @@ static struct {
 static int configure_accelerator(void)
 {
-    const char *p = NULL;
+    const char *p;
     char buf[10];
     int i, ret;
     bool accel_initialised = false;
     bool init_failed = false;
-    QemuOptsList *list = qemu_find_opts("machine");
-    if (!QTAILQ_EMPTY(&list->head)) {
-        p = qemu_opt_get(QTAILQ_FIRST(&list->head), "accel");
-    }
-
+    p = qemu_opt_get(qemu_get_machine_opts(), "accel");
     if (p == NULL) {
         /* Use the default "accelerator", tcg */
         p = "kvm:tcg";
--
1.7.1
SOURCES/kvm-Fix-migration-from-rhel6.5-to-rhel7-with-ipxe.patch
New file
@@ -0,0 +1,58 @@
From 5ed11d0f0f9cbd5e8616bd8f6028b8cae45c9103 Mon Sep 17 00:00:00 2001
From: Orit Wasserman <owasserm@redhat.com>
Date: Tue, 5 Nov 2013 13:13:44 +0100
Subject: [PATCH 17/29] Fix migration from rhel6.5 to rhel7 with ipxe
RH-Author: Orit Wasserman <owasserm@redhat.com>
Message-id: <1383657224-18599-4-git-send-email-owasserm@redhat.com>
Patchwork-id: 55377
O-Subject: [RHEL-7.0 qemu-kvm 3/3] Fix migration from rhel6.5 to rhel7 with ipxe
Bugzilla: 997702
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Alex Williamson <alex.williamson@redhat.com>
RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
RH-Acked-by: Juan Quintela <quintela@redhat.com>
Use rhel6 ipxe roms for rhel6 machine types (to have compatible roms sizes
when migrating)
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
---
 hw/i386/pc_piix.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 hw/i386/pc_piix.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 3f5b913..3a8418e 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -867,6 +867,22 @@ static QEMUMachine pc_machine_rhel700 = {
         .driver   = "usb-ccid",\
         .property = "serial",\
         .value    = "1",\
+    },{\
+        .driver   = "ne2k_pci",\
+        .property = "romfile",\
+        .value    = "rhel6-ne2k_pci.rom",\
+    },{\
+        .driver   = "pcnet",\
+        .property = "romfile",\
+        .value    = "rhel6-pcnet.rom",\
+    },{\
+        .driver   = "rtl8139",\
+        .property = "romfile",\
+        .value    = "rhel6-rtl8139.rom",\
+    },{\
+        .driver   = "virtio-net-pci",\
+        .property = "romfile",\
+        .value    = "rhel6-virtio.rom",\
     }
 static void pc_init_rhel650(QEMUMachineInitArgs *args)
--
1.7.1
SOURCES/kvm-Fix-potential-resource-leak-missing-fclose.patch
New file
@@ -0,0 +1,47 @@
From 803bf1ab08aadf547f8e45f0a727c17bb2b96ca5 Mon Sep 17 00:00:00 2001
From: Alex Williamson <alex.williamson@redhat.com>
Date: Fri, 1 Nov 2013 19:50:32 +0100
Subject: [PATCH 02/25] kvm: Fix potential resource leak (missing fclose)
RH-Author: Alex Williamson <alex.williamson@redhat.com>
Message-id: <20131101195032.25461.97296.stgit@bling.home>
Patchwork-id: 55234
O-Subject: [RHEL7 qemu-kvm PATCH 2/3] kvm: Fix potential resource leak (missing fclose)
Bugzilla: 1025877
RH-Acked-by: Bandan Das <bsd@redhat.com>
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
RH-Acked-by: Orit Wasserman <owasserm@redhat.com>
From: Stefan Weil <sw@weilnetz.de>
Bugzilla: 1025877
Upstream commit: 90527d2a8bb08ca5b4774eacfdd6b8fe9671c077
This leak was detected by cppcheck.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 hw/i386/kvm/pci-assign.c |    1 +
 1 file changed, 1 insertion(+)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 hw/i386/kvm/pci-assign.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/hw/i386/kvm/pci-assign.c b/hw/i386/kvm/pci-assign.c
index 221a8f7..a5885b4 100644
--- a/hw/i386/kvm/pci-assign.c
+++ b/hw/i386/kvm/pci-assign.c
@@ -548,6 +548,7 @@ static int get_real_id(const char *devpath, const char *idname, uint16_t *val)
     if (fscanf(f, "%li\n", &id) == 1) {
         *val = id;
     } else {
+        fclose(f);
         return -1;
     }
     fclose(f);
--
1.7.1
SOURCES/kvm-Fix-real-mode-guest-migration.patch
New file
@@ -0,0 +1,67 @@
From c576ee9550d38273808c2055803f3a254655753e Mon Sep 17 00:00:00 2001
From: Orit Wasserman <owasserm@redhat.com>
Date: Wed, 9 Oct 2013 10:09:10 +0200
Subject: [PATCH 15/25] Fix real mode guest migration
RH-Author: Orit Wasserman <owasserm@redhat.com>
Message-id: <1381313355-15641-6-git-send-email-owasserm@redhat.com>
Patchwork-id: 54801
O-Subject: [RHEL7.0 qemu-kvm v2 05/10] Fix real mode guest migration
Bugzilla: 921465
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
RH-Acked-by: Juan Quintela <quintela@redhat.com>
Older KVM versions save CS dpl value to an invalid value for real mode guests
(0x3). This patch detect this situation when loading CPU state and set all the
segments dpl to zero.
This will allow migration from older KVM on host without unrestricted guest
to hosts with restricted guest support.
For example migration from a Penryn host (with kernel 2.6.32) to
a Westmere host (for real mode guest) will fail with "kvm: unhandled exit 80000021".
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
(cherry picked from commit 444ba6797ef6ef331fe9fd34309b1ec59caaede3)
---
 target-i386/machine.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 target-i386/machine.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/target-i386/machine.c b/target-i386/machine.c
index ecf1617..079a132 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -260,6 +260,24 @@ static int cpu_post_load(void *opaque, int version_id)
     CPUX86State *env = &cpu->env;
     int i;
+    /*
+     * Real mode guest segments register DPL should be zero.
+     * Older KVM version were setting it wrongly.
+     * Fixing it will allow live migration from such host that don't have
+     * restricted guest support to a host with unrestricted guest support
+     * (otherwise the migration will fail with invalid guest state
+     * error).
+     */
+    if (!(env->cr[0] & CR0_PE_MASK) &&
+        (env->segs[R_CS].flags >> DESC_DPL_SHIFT & 3) != 0) {
+        env->segs[R_CS].flags &= ~(env->segs[R_CS].flags & DESC_DPL_MASK);
+        env->segs[R_DS].flags &= ~(env->segs[R_DS].flags & DESC_DPL_MASK);
+        env->segs[R_ES].flags &= ~(env->segs[R_ES].flags & DESC_DPL_MASK);
+        env->segs[R_FS].flags &= ~(env->segs[R_FS].flags & DESC_DPL_MASK);
+        env->segs[R_GS].flags &= ~(env->segs[R_GS].flags & DESC_DPL_MASK);
+        env->segs[R_SS].flags &= ~(env->segs[R_SS].flags & DESC_DPL_MASK);
+    }
+
     /* XXX: restore FPU round state */
     env->fpstt = (env->fpus_vmstate >> 11) & 7;
     env->fpus = env->fpus_vmstate & ~0x3800;
--
1.7.1
SOURCES/kvm-Fix-real-mode-guest-segments-dpl-value-in-savevm.patch
New file
@@ -0,0 +1,65 @@
From 38c385caa32752ef176ffd1448e45e0dc94d5043 Mon Sep 17 00:00:00 2001
From: Orit Wasserman <owasserm@redhat.com>
Date: Wed, 9 Oct 2013 10:09:11 +0200
Subject: [PATCH 16/25] Fix real mode guest segments dpl value in savevm
RH-Author: Orit Wasserman <owasserm@redhat.com>
Message-id: <1381313355-15641-7-git-send-email-owasserm@redhat.com>
Patchwork-id: 54802
O-Subject: [RHEL7.0 qemu-kvm v2 06/10] Fix real mode guest segments dpl value in savevm
Bugzilla: 921465
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
RH-Acked-by: Juan Quintela <quintela@redhat.com>
Older KVM version put invalid value in the segments registers dpl field for
real mode guests (0x3).
This breaks migration from those hosts to hosts with unrestricted guest support.
We detect it by checking CS dpl value for real mode guest and fix the dpl values
of all the segment registers.
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
(cherry picked from commit 3e47c249b93d5cc1e0f9404dbe243682598ba8fb)
---
 target-i386/machine.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 target-i386/machine.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/target-i386/machine.c b/target-i386/machine.c
index 079a132..8faea62 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -252,6 +252,24 @@ static void cpu_pre_save(void *opaque)
     }
     env->fpregs_format_vmstate = 0;
+
+    /*
+     * Real mode guest segments register DPL should be zero.
+     * Older KVM version were setting it wrongly.
+     * Fixing it will allow live migration to host with unrestricted guest
+     * support (otherwise the migration will fail with invalid guest state
+     * error).
+     */
+    if (!(env->cr[0] & CR0_PE_MASK) &&
+        (env->segs[R_CS].flags >> DESC_DPL_SHIFT & 3) != 0) {
+        env->segs[R_CS].flags &= ~(env->segs[R_CS].flags & DESC_DPL_MASK);
+        env->segs[R_DS].flags &= ~(env->segs[R_DS].flags & DESC_DPL_MASK);
+        env->segs[R_ES].flags &= ~(env->segs[R_ES].flags & DESC_DPL_MASK);
+        env->segs[R_FS].flags &= ~(env->segs[R_FS].flags & DESC_DPL_MASK);
+        env->segs[R_GS].flags &= ~(env->segs[R_GS].flags & DESC_DPL_MASK);
+        env->segs[R_SS].flags &= ~(env->segs[R_SS].flags & DESC_DPL_MASK);
+    }
+
 }
 static int cpu_post_load(void *opaque, int version_id)
--
1.7.1
SOURCES/kvm-Implement-qdict_flatten.patch
New file
@@ -0,0 +1,107 @@
From 4c0ae9bbc7424ca9fc220f56487e9927e8841f87 Mon Sep 17 00:00:00 2001
From: Kevin Wolf <kwolf@redhat.com>
Date: Tue, 5 Nov 2013 14:09:00 +0100
Subject: [PATCH 47/87] Implement qdict_flatten()
RH-Author: Kevin Wolf <kwolf@redhat.com>
Message-id: <1383660558-32096-7-git-send-email-kwolf@redhat.com>
Patchwork-id: 55385
O-Subject: [RHEL-7.0 qemu-kvm PATCH 06/24] Implement qdict_flatten()
Bugzilla: 978402
RH-Acked-by: Fam Zheng <famz@redhat.com>
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
RH-Acked-by: Max Reitz <mreitz@redhat.com>
qdict_flatten(): For each nested QDict with key x, all fields with key y
are moved to this QDict and their key is renamed to "x.y". This operation
is applied recursively for nested QDicts.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
(cherry picked from commit f660dc6a2e97756596b2e79ce6127a3034f2308b)
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 include/qapi/qmp/qdict.h |  1 +
 qobject/qdict.c          | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 include/qapi/qmp/qdict.h |    1 +
 qobject/qdict.c          |   51 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 0 deletions(-)
diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h
index 685b2e3..d6855d1 100644
--- a/include/qapi/qmp/qdict.h
+++ b/include/qapi/qmp/qdict.h
@@ -65,5 +65,6 @@ int qdict_get_try_bool(const QDict *qdict, const char *key, int def_value);
 const char *qdict_get_try_str(const QDict *qdict, const char *key);
 QDict *qdict_clone_shallow(const QDict *src);
+void qdict_flatten(QDict *qdict);
 #endif /* QDICT_H */
diff --git a/qobject/qdict.c b/qobject/qdict.c
index ed381f9..472f106 100644
--- a/qobject/qdict.c
+++ b/qobject/qdict.c
@@ -476,3 +476,54 @@ static void qdict_destroy_obj(QObject *obj)
     g_free(qdict);
 }
+
+static void qdict_do_flatten(QDict *qdict, QDict *target, const char *prefix)
+{
+    QObject *value;
+    const QDictEntry *entry, *next;
+    const char *new_key;
+    bool delete;
+
+    entry = qdict_first(qdict);
+
+    while (entry != NULL) {
+
+        next = qdict_next(qdict, entry);
+        value = qdict_entry_value(entry);
+        new_key = NULL;
+        delete = false;
+
+        if (prefix) {
+            qobject_incref(value);
+            new_key = g_strdup_printf("%s.%s", prefix, entry->key);
+            qdict_put_obj(target, new_key, value);
+            delete = true;
+        }
+
+        if (qobject_type(value) == QTYPE_QDICT) {
+            qdict_do_flatten(qobject_to_qdict(value), target,
+                             new_key ? new_key : entry->key);
+            delete = true;
+        }
+
+        if (delete) {
+            qdict_del(qdict, entry->key);
+
+            /* Restart loop after modifying the iterated QDict */
+            entry = qdict_first(qdict);
+            continue;
+        }
+
+        entry = next;
+    }
+}
+
+/**
+ * qdict_flatten(): For each nested QDict with key x, all fields with key y
+ * are moved to this QDict and their key is renamed to "x.y". This operation
+ * is applied recursively for nested QDicts.
+ */
+void qdict_flatten(QDict *qdict)
+{
+    qdict_do_flatten(qdict, qdict, NULL);
+}
--
1.7.1
SOURCES/kvm-Makefile-create-.-var-run-when-installing-the-POSIX-.patch
New file
@@ -0,0 +1,62 @@
From b14a772332fe273f7c3430af03bcbb8ab5bcc3ae Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Wed, 31 Jul 2013 14:03:27 +0200
Subject: [PATCH 06/28] Makefile: create ".../var/run" when installing the POSIX guest agent
RH-Author: Laszlo Ersek <lersek@redhat.com>
Message-id: <1375279407-13573-7-git-send-email-lersek@redhat.com>
Patchwork-id: 52864
O-Subject: [RHEL-7 qemu-kvm PATCH 6/6] Makefile: create ".../var/run" when installing the POSIX guest agent
Bugzilla: 964304
RH-Acked-by: Michal Novotny <minovotn@redhat.com>
RH-Acked-by: Luiz Capitulino <lcapitulino@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Otherwise the default local state directory of POSIX qga won't exist after
installation with a non-standard ${prefix} or DESTDIR.
For now qga is the only user of ".../var" (= $qemu_localstatedir) too, so
don't create that directory either unless we're installing the agent.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
(cherry picked from commit f2e3978b5a72870b061d29948075dccc0a72db8e)
---
 Makefile |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 Makefile |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index dbd96d1..dcd31c6 100644
--- a/Makefile
+++ b/Makefile
@@ -321,13 +321,21 @@ endif
 install-datadir:
     $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)"
+install-localstatedir:
+ifdef CONFIG_POSIX
+ifneq (,$(findstring qemu-ga,$(TOOLS)))
+    $(INSTALL_DIR) "$(DESTDIR)$(qemu_localstatedir)"/run
+endif
+endif
+
 install-confdir:
     $(INSTALL_DIR) "$(DESTDIR)$(qemu_confdir)"
 install-sysconfig: install-datadir install-confdir
     $(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_confdir)"
-install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig install-datadir
+install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \
+install-datadir install-localstatedir
     $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
 ifneq ($(TOOLS),)
     $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
--
1.7.1
SOURCES/kvm-Mostly-revert-qemu-help-Sort-devices-by-logical-func.patch
New file
@@ -0,0 +1,177 @@
From c028066b7a4a68d52a33f6856bb8fe907def2b6b Mon Sep 17 00:00:00 2001
From: Kevin Wolf <kwolf@redhat.com>
Date: Wed, 6 Nov 2013 14:41:10 +0100
Subject: [PATCH 34/81] Mostly revert "qemu-help: Sort devices by logical functionality"
RH-Author: Kevin Wolf <kwolf@redhat.com>
Message-id: <1383748882-22831-6-git-send-email-kwolf@redhat.com>
Patchwork-id: 55531
O-Subject: [RHEL-7.0 qemu-kvm PATCH v2 05/17] Mostly revert "qemu-help: Sort devices by logical functionality"
Bugzilla: 1001216
RH-Acked-by: Marcel Apfelbaum <marcel.a@redhat.com>
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
From: Markus Armbruster <armbru@redhat.com>
This reverts most of commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5.
The commit claims to sort the output of "-device help" "by
functionality rather than alphabetical".  Issues:
* The output was unsorted before, not alphabetically sorted.
  Misleading, but harmless enough.
* The commit doesn't just sort the output of "-device help" as it
  claims, it adds categories to each line of "-device help", and it
  prints devices once per category.  In particular, devices without a
  category aren't shown anymore.  Maybe such devices should not exist,
  but they do.  Regression.
* Categories are also added to the output of "info qdm".  Silent
  change, not nice.  Output remains unsorted, unlike "-device help".
I'm going to reimplement the feature we actually want, without the
warts.  Reverting the flawed commit first should make it easier to
review.  However, I can't revert it completely, since DeviceClass
member categories has been put to use.  So leave that part in.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel.a@redhat.com>
Message-id: 1381410021-1538-2-git-send-email-armbru@redhat.com
Signed-off-by: Anthony Liguori <aliguori@amazon.com>
(cherry picked from commit 1fc224b4b6d195fb7802d5ba1a0846a4e7a1e2af)
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 include/hw/qdev-core.h | 16 ----------------
 qdev-monitor.c         | 48 +++++++++---------------------------------------
 2 files changed, 9 insertions(+), 55 deletions(-)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 include/hw/qdev-core.h |   16 ----------------
 qdev-monitor.c         |   48 +++++++++---------------------------------------
 2 files changed, 9 insertions(+), 55 deletions(-)
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 18596e9..a8618db 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -30,22 +30,6 @@ typedef enum DeviceCategory {
     DEVICE_CATEGORY_MAX
 } DeviceCategory;
-static inline const char *qdev_category_get_name(DeviceCategory category)
-{
-    static const char *category_names[DEVICE_CATEGORY_MAX] = {
-        [DEVICE_CATEGORY_BRIDGE]  = "Controller/Bridge/Hub",
-        [DEVICE_CATEGORY_USB]     = "USB",
-        [DEVICE_CATEGORY_STORAGE] = "Storage",
-        [DEVICE_CATEGORY_NETWORK] = "Network",
-        [DEVICE_CATEGORY_INPUT]   = "Input",
-        [DEVICE_CATEGORY_DISPLAY] = "Display",
-        [DEVICE_CATEGORY_SOUND]   = "Sound",
-        [DEVICE_CATEGORY_MISC]    = "Misc",
-    };
-
-    return category_names[category];
-};
-
 typedef int (*qdev_initfn)(DeviceState *dev);
 typedef int (*qdev_event)(DeviceState *dev);
 typedef void (*qdev_resetfn)(DeviceState *dev);
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 230a8df..e54dbc2 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c