qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/5] intel_iommu: fix EIM


From: Radim Krčmář
Subject: [Qemu-devel] [PATCH 0/5] intel_iommu: fix EIM
Date: Thu, 22 Sep 2016 23:04:27 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]