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

[Xen-changelog] [xen-3.4-testing] xend: passthrough: fix physdev_map_pirq invocation



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1252309939 -3600
# Node ID 1eea8fa25abe088a41020f94bf358295f56b0e18
# Parent  11a597a09d213653e165887a1460715c7ff617b3
xend: passthrough: fix physdev_map_pirq invocation

For those devices not having INTx (like VFs), avoid calling map_pirq,
otherwise the guest cannot be started successfully.

Also avoid calling this hypercall for hvm guest, this is done in the
device model.

Signed-off-by: Qing He <qing.he@xxxxxxxxx>
xen-unstable changeset:   20161:b5cb195b737b
xen-unstable date:        Mon Sep 07 08:38:39 2009 +0100
---
 tools/python/xen/xend/server/pciif.py |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff -r 11a597a09d21 -r 1eea8fa25abe tools/python/xen/xend/server/pciif.py
--- a/tools/python/xen/xend/server/pciif.py     Mon Sep 07 08:51:53 2009 +0100
+++ b/tools/python/xen/xend/server/pciif.py     Mon Sep 07 08:52:19 2009 +0100
@@ -369,12 +369,13 @@ class PciController(DevController):
                 if rc<0:
                     raise VmError(('pci: failed to remove msi-x iomem'))
 
-        rc = xc.physdev_map_pirq(domid = fe_domid,
-                               index = dev.irq,
-                               pirq  = dev.irq)
-        if rc < 0:
-            raise VmError(('pci: failed to map irq on device '+
-                        '%s - errno=%d')%(dev.name,rc))
+        if not self.vm.info.is_hvm() and dev.irq:
+            rc = xc.physdev_map_pirq(domid = fe_domid,
+                                   index = dev.irq,
+                                   pirq  = dev.irq)
+            if rc < 0:
+                raise VmError(('pci: failed to map irq on device '+
+                            '%s - errno=%d')%(dev.name,rc))
         if dev.irq>0:
             log.debug('pci: enabling irq %d'%dev.irq)
             rc = xc.domain_irq_permission(domid =  fe_domid, pirq = dev.irq,

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