Remove vtd_hw_check().
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 31 Jul 2008 10:14:23 +0000 (11:14 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 31 Jul 2008 10:14:23 +0000 (11:14 +0100)
Since we have separate VT-d page tables, actually we don't need the
checking.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
xen/drivers/passthrough/vtd/dmar.c
xen/drivers/passthrough/vtd/utils.c

index 4b83510131a92cca5f0f11670f06c2892c5b927e..5be3246e71e2a712dd4d8acff75c639b73d4c776 100644 (file)
@@ -483,9 +483,6 @@ int acpi_dmar_init(void)
     if ( !iommu_enabled )
         goto fail;
 
-    if ( (rc = vtd_hw_check()) != 0 )
-        goto fail;
-
     acpi_table_parse(ACPI_SIG_DMAR, acpi_parse_dmar);
 
     rc = -ENODEV;
index 96710eb627d7b74e2d606c375155867230b82363..ba9420fb3c6dcd3a816d652532568053a8606070 100644 (file)
 #include "vtd.h"
 #include "extern.h"
 
-#define INTEL   0x8086
-#define SEABURG 0x4000
-#define C_STEP  2
-
 int is_usb_device(u8 bus, u8 devfn)
 {
     u16 class = pci_conf_read16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
@@ -40,32 +36,6 @@ int is_usb_device(u8 bus, u8 devfn)
     return (class == 0xc03);
 }
 
-int vtd_hw_check(void)
-{
-    u16 vendor, device;
-    u8 revision, stepping;
-
-    vendor   = pci_conf_read16(0, 0, 0, PCI_VENDOR_ID);
-    device   = pci_conf_read16(0, 0, 0, PCI_DEVICE_ID);
-    revision = pci_conf_read8(0, 0, 0, PCI_REVISION_ID);
-    stepping = revision & 0xf;
-
-    if ( (vendor == INTEL) && (device == SEABURG) )
-    {
-        if ( stepping < C_STEP )
-        {
-            dprintk(XENLOG_WARNING VTDPREFIX,
-                    "*** VT-d disabled - pre C0-step Seaburg found\n");
-            dprintk(XENLOG_WARNING VTDPREFIX,
-                    "***  vendor = %x device = %x revision = %x\n",
-                    vendor, device, revision);
-            return -ENODEV;
-        }
-    }
-
-    return 0;
-}
-
 /* Disable vt-d protected memory registers. */
 void disable_pmr(struct iommu *iommu)
 {