[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] xend: passthrough: do not check non-page-aligned MMIO BAR if not strict-check



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1255678213 -3600
# Node ID bc27fe199094ec1e61228d1d775f45d3f6f1b684
# Parent  2370e16ab6d3a1c9de43babec48c8f14121d19bc
xend: passthrough: do not check non-page-aligned MMIO BAR if not strict-check

When the option pci-passthrough-strict-check of
/etc/xen/xend-config.sxp is set to 'no', we don't check the
non-page-aligned MMIO BAR.  This could be useful in some cases, e.g.,
when there is only 1 device in the range of the page and we try to
assign the device to pv guest.

Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>
---
 tools/python/xen/xend/XendDomainInfo.py |    5 +++--
 tools/python/xen/xend/server/pciif.py   |    6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff -r 2370e16ab6d3 -r bc27fe199094 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Fri Oct 16 08:28:47 2009 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py   Fri Oct 16 08:30:13 2009 +0100
@@ -702,8 +702,9 @@ class XendDomainInfo:
             raise VmError(("pci: PCI Backend and pci-stub don't own device 
%s")\
                             %pci_device.name)
 
+        strict_check = xoptions.get_pci_dev_assign_strict_check()
         # Check non-page-aligned MMIO BAR.
-        if pci_device.has_non_page_aligned_bar and arch.type != "ia64":
+        if pci_device.has_non_page_aligned_bar and strict_check:
             raise VmError("pci: %s: non-page-aligned MMIO BAR found." % \
                 pci_device.name)
 
@@ -711,7 +712,7 @@ class XendDomainInfo:
         if not self.info.is_hvm():
             return
 
-        if not xoptions.get_pci_dev_assign_strict_check():
+        if not strict_check:
             return
 
         # Check if there is intermediate PCIe switch bewteen the device and
diff -r 2370e16ab6d3 -r bc27fe199094 tools/python/xen/xend/server/pciif.py
--- a/tools/python/xen/xend/server/pciif.py     Fri Oct 16 08:28:47 2009 +0100
+++ b/tools/python/xen/xend/server/pciif.py     Fri Oct 16 08:30:13 2009 +0100
@@ -289,9 +289,6 @@ class PciController(DevController):
             raise VmError(("pci: PCI Backend and pci-stub don't own "+ \
                     "device %s\n") %(dev.name))
 
-        if dev.has_non_page_aligned_bar and arch.type != "ia64":
-            raise VmError("pci: %s: non-page-aligned MMIO BAR found." % 
dev.name)
-
         self.CheckSiblingDevices(fe_domid, dev)
 
         # We don't do FLR when we create domain and hotplug device into guest,
@@ -367,6 +364,9 @@ class PciController(DevController):
             except Exception, e:
                 raise VmError("pci: failed to locate device and "+
                         "parse its resources - "+str(e))
+
+            if dev.has_non_page_aligned_bar and strict_check:
+                raise VmError("pci: %s: non-page-aligned MMIO BAR found." % 
dev.name)
 
             # Check if there is intermediate PCIe switch bewteen the device and
             # Root Complex.

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.