|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-unstable] xend: passthrough: do not check	non-page-
 
# 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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] [xen-unstable] xend: passthrough: do not check	non-page-aligned MMIO BAR if not strict-check,
Xen patchbot-unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |