qemu-e2k/hw/i386
Ladi Prosek 8991c460be intel_iommu: relax iq tail check on VTD_GCMD_QIE enable
The VT-d spec (section 6.5.2) prescribes software to zero the
Invalidation Queue Tail Register before enabling the VTD_GCMD_QIE
Global Command Register bit. Windows Server 2012 R2 and possibly
other older Windows versions violate the protocol and set a
non-zero queue tail first, which in effect makes them crash early
on boot with -device intel-iommu,intremap=on.

This commit relaxes the check and instead of failing to enable
VTD_GCMD_QIE with vtd_err_qi_enable, it behaves as if the tail
register was set just after enabling VTD_GCMD_QIE
(see vtd_handle_iqt_write).

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-07-03 22:29:48 +03:00
..
kvm kvmclock: update system_time_msr address forcibly 2017-06-07 18:22:02 +02:00
xen xen: use get_uint() for "max-ram-below-4g" property 2017-06-20 14:31:33 +02:00
acpi-build.c acpi: use get_uint() for "pci-hole*" properties 2017-06-20 14:31:33 +02:00
acpi-build.h
amd_iommu.c memory: tune last param of iommu_ops.translate() 2017-05-25 21:25:27 +03:00
amd_iommu.h
intel_iommu_internal.h intel_iommu: cleanup vtd_{do_}iommu_translate() 2017-06-16 18:44:55 +03:00
intel_iommu.c intel_iommu: relax iq tail check on VTD_GCMD_QIE enable 2017-07-03 22:29:48 +03:00
kvmvapic.c kvmvapic: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
Makefile.objs
multiboot.c
multiboot.h
pc_piix.c migration: move skip_section_footers 2017-06-28 11:18:39 +02:00
pc_q35.c migration: migration.h was not needed 2017-05-18 19:20:59 +02:00
pc_sysfw.c
pc.c QAPI patches for 2017-06-09 2017-06-22 11:34:39 +01:00
pci-assign-load-rom.c pci-assign: avoid pointless stat 2017-01-24 23:26:53 +03:00
trace-events intel_iommu: relax iq tail check on VTD_GCMD_QIE enable 2017-07-03 22:29:48 +03:00
x86-iommu.c intel_iommu: support passthrough (PT) 2017-05-25 21:25:27 +03:00