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

[Xen-changelog] [xen-3.4-testing] xend: Revert c/s 17536 which breaks PV passthru of MSI-X devices.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1252309987 -3600
# Node ID 7422afed66ee9a48c1ab68a98ecaecff5de70eaf
# Parent  620e565387253a0d6bf0df999ef95c9ae4b7611b
xend: Revert c/s 17536 which breaks PV passthru of MSI-X devices.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   20171:55ef198e63c7
xen-unstable date:        Mon Sep 07 08:48:12 2009 +0100
---
 tools/python/xen/util/pci.py          |   18 ------------------
 tools/python/xen/xend/server/pciif.py |   13 -------------
 2 files changed, 31 deletions(-)

diff -r 620e56538725 -r 7422afed66ee tools/python/xen/util/pci.py
--- a/tools/python/xen/util/pci.py      Mon Sep 07 08:52:42 2009 +0100
+++ b/tools/python/xen/util/pci.py      Mon Sep 07 08:53:07 2009 +0100
@@ -841,20 +841,6 @@ class PciDevice:
             raise PciDeviceParseError(('Failed to locate sysfs mount: %s: %s 
(%d)' %
                 (PROC_PCI_PATH, strerr, errno)))
 
-    def remove_msix_iomem(self, index, start, size):
-        if (index == self.table_index):
-            table_start = start+self.table_offset
-            table_end = table_start + self.msix_entries * 16
-            table_start = table_start & PAGE_MASK
-            table_end = (table_end + PAGE_SIZE) & PAGE_MASK
-            self.msix_iomem.append((table_start, table_end-table_start))
-        if (index==self.pba_index):
-            pba_start = start + self.pba_offset
-            pba_end = pba_start + self.msix_entries/8
-            pba_start = pba_start & PAGE_MASK
-            pba_end = (pba_end + PAGE_SIZE) & PAGE_MASK
-            self.msix_iomem.append((pba_start, pba_end-pba_start))
-
     def get_info_from_sysfs(self):
         self.find_capability(0x11)
         sysfs_mnt = find_sysfs_mnt()
@@ -882,10 +868,6 @@ class PciDevice:
                         self.ioports.append( (start,size) )
                     else:
                         self.iomem.append( (start,size) )
-                    if (self.msix):
-                        self.remove_msix_iomem(i, start, size)
-
-
 
         except IOError, (errno, strerr):
             raise PciDeviceParseError(('Failed to open & read %s: %s (%d)' %
diff -r 620e56538725 -r 7422afed66ee tools/python/xen/xend/server/pciif.py
--- a/tools/python/xen/xend/server/pciif.py     Mon Sep 07 08:52:42 2009 +0100
+++ b/tools/python/xen/xend/server/pciif.py     Mon Sep 07 08:53:07 2009 +0100
@@ -355,19 +355,6 @@ class PciController(DevController):
             if rc<0:
                 raise VmError(('pci: failed to configure I/O memory on device 
'+
                             '%s - errno=%d')%(dev.name,rc))
-
-        if dev.msix:
-            for (start, size) in dev.msix_iomem:
-                start_pfn = start>>PAGE_SHIFT
-                nr_pfns = (size+(PAGE_SIZE-1))>>PAGE_SHIFT
-                log.debug('pci-msix: remove permission for 0x%x/0x%x 
0x%x/0x%x' % \
-                         (start,size, start_pfn, nr_pfns))
-                rc = xc.domain_iomem_permission(domid = fe_domid,
-                                                first_pfn = start_pfn,
-                                                nr_pfns = nr_pfns,
-                                                allow_access = False)
-                if rc<0:
-                    raise VmError(('pci: failed to remove msi-x iomem'))
 
         if not self.vm.info.is_hvm() and dev.irq:
             rc = xc.physdev_map_pirq(domid = fe_domid,

_______________________________________________
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®.