[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
- [Qemu-devel] [PATCH 0/5] intel_iommu: fix EIM,
Radim Krčmář <=