qemu/hw/i386
Evgeny Yakovlev 5f2585772f virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised
Virtio spec 1.1 (and earlier), 5.2.5.2 Driver Requirements: Device
Initialization:

"Devices SHOULD always offer VIRTIO_BLK_F_FLUSH, and MUST offer it if
they offer VIRTIO_BLK_F_CONFIG_WCE"

Currently F_CONFIG_WCE and F_WCE are not connected to each other.
Qemu will advertise F_CONFIG_WCE if config-wce argument is
set for virtio-blk device. And F_WCE is advertised only if
underlying block backend actually has it's caching enabled.

Fix this by advertising F_WCE if F_CONFIG_WCE is also advertised.

To preserve backwards compatibility with newer machine types make this
behaviour governed by "x-enable-wce-if-config-wce" virtio-blk-device
property and introduce hw_compat_4_2 with new property being off by
default for all machine types <= 4.2 (but don't introduce 4.3
machine type itself yet).

Signed-off-by: Evgeny Yakovlev <wrfsh@yandex-team.ru>
Message-Id: <1572978137-189218-1-git-send-email-wrfsh@yandex-team.ru>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2019-12-13 11:22:06 +00:00
..
kvm migration: Do not re-read the clock on pre_save in case of paused guest 2019-09-03 14:39:46 -03:00
xen hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers 2019-11-05 23:33:12 +01:00
acpi-build.c virtio, pci: fixes 2019-11-07 11:56:19 +00:00
acpi-build.h
amd_iommu.c hw/i386: split PCMachineState deriving X86MachineState from it 2019-10-22 09:39:50 +02:00
amd_iommu.h Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
e820_memory_layout.c hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
e820_memory_layout.h hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
fw_cfg.c hw/i386/pc: Extract the x86 generic fw_cfg code 2019-09-16 17:13:09 +02:00
fw_cfg.h hw/i386/pc: Extract the x86 generic fw_cfg code 2019-09-16 17:13:09 +02:00
intel_iommu_internal.h intel_iommu: TM field should not be in reserved bits 2019-11-25 03:42:58 -05:00
intel_iommu.c intel_iommu: TM field should not be in reserved bits 2019-11-25 03:42:58 -05:00
Kconfig hw/pci-host: Rename incorrectly named 'piix' as 'i440fx' 2019-11-05 23:33:12 +01:00
kvmvapic.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
Makefile.objs hw/i386: Introduce the microvm machine type 2019-10-22 09:39:54 +02:00
microvm.c microvm: fix memory leak in microvm_fix_kernel_cmdline 2019-11-19 10:00:36 +01:00
multiboot.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
multiboot.h
pc_piix.c virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
pc_q35.c virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
pc_sysfw.c hw/i386/pc: move shared x86 functions to x86.c and export them 2019-10-22 09:38:42 +02:00
pc.c hw/i386: Move save_tsc_khz from PCMachineClass to X86MachineClass 2019-11-19 10:01:34 +01:00
trace-events
vmmouse.c i386/vmmouse: Properly reset state 2019-09-03 14:39:46 -03:00
vmport.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
x86-iommu.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
x86.c hw/i386: Move save_tsc_khz from PCMachineClass to X86MachineClass 2019-11-19 10:01:34 +01:00