qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] intel_iommu: fix EIM
@ 2016-09-22 21:04 Radim Krčmář
  2016-09-22 21:04 ` [Qemu-devel] [PATCH 1/5] apic: add global apic_get_class() Radim Krčmář
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Radim Krčmář @ 2016-09-22 21:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Xu, Igor Mammedov, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost, Michael S. Tsirkin

intel_iommu exposed EIM (extended interrupt mode) feature, which in turn
made the guest think that using x2APIC is a good idea.  It was not:
QEMU clamped all addresses to 8 bits (effectively allowing only APIC IDs
below 8 in cluster mode) and 0xff was also interpreted as x2APIC
broadcast even in physical mode.

This series forbids EIM unless KVM is configured to use full 32 bit
addresses and doesn't have the broadcast quirk.

On top of this, it would be great if we had a mechanism that enabled EIM
whenever it can be used -- it is disabled by default now.


Peter Xu (1):
  intel_iommu: add "eim" property

Radim Krčmář (4):
  apic: add global apic_get_class()
  apic: add send_msi() to APICCommonClass
  intel_iommu: pass whole remapped addresses to apic
  intel_iommu: do not allow EIM without KVM support

 hw/i386/intel_iommu.c           | 41 +++++++++++++++++++++++++++++------------
 hw/i386/kvm/apic.c              | 19 +++++++++++++------
 hw/i386/xen/xen_apic.c          |  6 ++++++
 hw/intc/apic.c                  |  6 ++++++
 hw/intc/apic_common.c           | 14 ++++++++++++++
 include/hw/i386/apic_internal.h |  7 +++++++
 include/hw/i386/intel_iommu.h   |  1 +
 target-i386/kvm-stub.c          |  5 +++++
 target-i386/kvm.c               | 13 +++++++++++++
 target-i386/kvm_i386.h          |  1 +
 10 files changed, 95 insertions(+), 18 deletions(-)

-- 
2.10.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-09-27 21:30 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-22 21:04 [Qemu-devel] [PATCH 0/5] intel_iommu: fix EIM Radim Krčmář
2016-09-22 21:04 ` [Qemu-devel] [PATCH 1/5] apic: add global apic_get_class() Radim Krčmář
2016-09-23  9:17   ` Peter Xu
2016-09-27 13:28     ` Radim Krčmář
2016-09-22 21:04 ` [Qemu-devel] [PATCH 2/5] apic: add send_msi() to APICCommonClass Radim Krčmář
2016-09-23  9:35   ` Peter Xu
2016-09-26 12:38   ` Igor Mammedov
2016-09-27 13:55     ` Radim Krčmář
2016-09-22 21:04 ` [Qemu-devel] [PATCH 3/5] intel_iommu: pass whole remapped addresses to apic Radim Krčmář
2016-09-23  9:41   ` Peter Xu
2016-09-27 13:56     ` Radim Krčmář
2016-09-27 13:57   ` Igor Mammedov
2016-09-22 21:04 ` [Qemu-devel] [PATCH 4/5] intel_iommu: add "eim" property Radim Krčmář
2016-09-22 21:04 ` [Qemu-devel] [PATCH 5/5] intel_iommu: do not allow EIM without KVM support Radim Krčmář
2016-09-23  9:27   ` Paolo Bonzini
2016-09-23 10:02     ` Peter Xu
2016-09-23 10:03       ` Paolo Bonzini
2016-09-23 10:12         ` Peter Xu
2016-09-23 10:39           ` Paolo Bonzini
2016-09-23 10:52             ` Peter Xu
2016-09-27 14:01     ` Radim Krčmář
2016-09-27 21:30       ` Paolo Bonzini
2016-09-27 13:07   ` Igor Mammedov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).