VT-d: replace flush_all_cache()
authorJan Beulich <jbeulich@suse.com>
Fri, 18 Feb 2022 13:18:51 +0000 (14:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 18 Feb 2022 13:18:51 +0000 (14:18 +0100)
Let's use infrastructure we have available instead of an open-coded
wbinvd() invocation.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
xen/drivers/passthrough/vtd/extern.h
xen/drivers/passthrough/vtd/iommu.c
xen/drivers/passthrough/vtd/x86/vtd.c

index 5e9cc935c42b159786389e705866efd2bbbb9ee6..52b82f713220776b0ee21c3225c94d7813596bbd 100644 (file)
@@ -78,8 +78,6 @@ int __must_check qinval_device_iotlb_sync(struct vtd_iommu *iommu,
                                           struct pci_dev *pdev,
                                           u16 did, u16 size, u64 addr);
 
-void flush_all_cache(void);
-
 uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
 void free_pgtable_maddr(u64 maddr);
 void *map_vtd_domain_page(u64 maddr);
index 698b09d070243b9d82635f8ddf081b079006a27b..566b0e2a7eb9b417820bb0c7669ac5f670982bfb 100644 (file)
@@ -623,7 +623,8 @@ static int __must_check iommu_flush_all(void)
     bool_t flush_dev_iotlb;
     int rc = 0;
 
-    flush_all_cache();
+    flush_local(FLUSH_CACHE);
+
     for_each_drhd_unit ( drhd )
     {
         int context_rc, iotlb_rc;
index 55f0faa521cbbdd5da241911e6b03194ed21fea6..76f12adc23dfc5f3d6d62056f7e85029d212e618 100644 (file)
@@ -46,8 +46,3 @@ void unmap_vtd_domain_page(const void *va)
 {
     unmap_domain_page(va);
 }
-
-void flush_all_cache()
-{
-    wbinvd();
-}