|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] VT-d: posted interrupts require interrupt remapping
Initially I had just noticed the unnecessary indirection in the call
from pi_update_irte(). The generic wrapper having an iommu_intremap
conditional made me look at the setup code though. So first of all
enforce the necessary dependency.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -993,7 +993,8 @@ int pi_update_irte(const struct pi_desc
spin_unlock_irq(&desc->lock);
ASSERT(pcidevs_locked());
- return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
+
+ return msi_msg_write_remap_rte(msi_desc, &msi_desc->msg);
unlock_out:
spin_unlock_irq(&desc->lock);
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2342,7 +2342,7 @@ static int __init vtd_setup(void)
* not supported, since we count on this feature to
* atomically update 16-byte IRTE in posted format.
*/
- if ( !cap_intr_post(iommu->cap) || !cpu_has_cx16 )
+ if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
iommu_intpost = 0;
if ( !vtd_ept_page_compatible(iommu) )
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |