From: Keir Fraser Date: Tue, 1 Jul 2008 10:40:55 +0000 (+0100) Subject: VT-d: Do CLFLUSH after updating IRTE entries X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14192^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=920bd99d37978b476ebd9acb8a416a9c37d1eecc;p=xen.git VT-d: Do CLFLUSH after updating IRTE entries Like root, context and DMA remap page table, interrupt remap table also needs CLFLUSH after any update. Signed-off-by: Weidong Han --- diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c index 5654813b13..42ff5572d6 100644 --- a/xen/drivers/passthrough/vtd/intremap.c +++ b/xen/drivers/passthrough/vtd/intremap.c @@ -153,6 +153,7 @@ static void ioapic_rte_to_remap_entry(struct iommu *iommu, } memcpy(iremap_entry, &new_ire, sizeof(struct iremap_entry)); + iommu_flush_cache_entry(iremap_entry); iommu_flush_iec_index(iommu, 0, index); invalidate_sync(iommu); @@ -378,6 +379,7 @@ static void msi_msg_to_remap_entry( remap_rte->data = 0; memcpy(iremap_entry, &new_ire, sizeof(struct iremap_entry)); + iommu_flush_cache_entry(iremap_entry); iommu_flush_iec_index(iommu, 0, index); invalidate_sync(iommu);