Displaying 6 results from an estimated 6 matches for "physdev_map_pirq".
Did you mean:
  physdevop_map_pirq
  
2009 Jan 09
5
[PATCH] Enable PCI passthrough with stub domain.
...IV_FOR(current->domain, d) )
         return -EINVAL;
 
     ASSERT(spin_is_locked(&pcidevs_lock));
diff -r b9721b2766c1 xen/arch/x86/physdev.c
--- a/xen/arch/x86/physdev.c	Wed Jan 07 11:25:00 2009 +0000
+++ b/xen/arch/x86/physdev.c	Thu Jan 08 18:58:36 2009 +0900
@@ -34,9 +34,6 @@ static int physdev_map_pirq(struct physd
     struct msi_info _msi;
     void *map_data = NULL;
 
-    if ( !IS_PRIV(current->domain) )
-        return -EPERM;
-
     if ( !map )
         return -EINVAL;
 
@@ -49,6 +46,14 @@ static int physdev_map_pirq(struct physd
     {
         ret = -ESRCH;
         goto free_domain;
+...
2010 Feb 26
0
[Xen-devel] Crash during boot in Debian lenny default dom0 kernel (2.6.26-2-xen-686) / bugfix patch
...SOURCE_UNSET | IORESOURCE_BUSY))
+		return 0;
+
+	return pci_resource_start(dev, bar);
+}
+
 /*
  * Protected by msi_lock
  */
 static int msi_map_pirq_to_vector(struct pci_dev *dev, int pirq,
-                                  int entry_nr, int msi)
+				  int entry_nr, u64 table_base)
 {
 	struct physdev_map_pirq map_irq;
 	int rc;
@@ -254,10 +270,10 @@
 	map_irq.type = MAP_PIRQ_TYPE_MSI;
 	map_irq.index = -1;
 	map_irq.pirq = pirq;
-    map_irq.msi_info.bus = dev->bus->number;
-    map_irq.msi_info.devfn = dev->devfn;
-	map_irq.msi_info.entry_nr = entry_nr;
-    map_irq.msi_info.msi = msi;
+	map_i...
2008 Sep 26
2
RE: [Xen-changelog] [xen-unstable] x86: Properly synchronise updates to pirq-to-vector mapping.
...rq_vector[pirq] = -vector;
+        d->arch.vector_pirq[vector] = -pirq;
+    }
+
     spin_unlock_irqrestore(&desc->lock, flags);
-
-    d->arch.pirq_vector[pirq] = d->arch.vector_pirq[vector] = 0;
     ret = irq_deny_access(d, pirq);
     if ( ret )
@@ -186,7 +188,6 @@ static int physdev_map_pirq(struct physd
 {
     struct domain *d;
     int vector, pirq, ret = 0;
-    unsigned long flags;
     if ( !IS_PRIV(current->domain) )
         return -EPERM;
@@ -243,8 +244,8 @@ static int physdev_map_pirq(struct physd
             goto free_domain;
     }
-    spin_lock_irqsave(&d->ar...
2010 Feb 25
0
[Xen-devel] Crash during boot in Debian lenny default dom0 kernel (2.6.26-2-xen-686) / bugfix patches
...hould try not to crash Xen as a result on guest input. :-)
While generally I agree, I think in the given case this is unavoidable -
Xen could apply some sanity check, but the passing of a machine
address from Dom0 to Xen implies that Dom0 knows what it does,
and Xen trusts it. Specifically, struct physdev_map_pirq has this
contents according to the trace
.domid = 00007ff0
.type = 00000000
.index = ffffffff
.pirq = ffffffff
.bus = 00000000
.devfn = 00000008
.entry_nr = 00000000
.table_base = f5861e4a00000001
table_base would seem like not having been initialized at all. I
would guess that they use the struc...
2013 May 21
12
[PATCH] fix XSA-46 regression with xend/xm
...d to the xend event flow).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Andreas Falck <falck.andreas.lists@gmail.com> (on 4.1)
Tested-by: Gordan Bobic <gordan@bobich.net> (on 4.2)
--- a/tools/libxc/xc_physdev.c
+++ b/tools/libxc/xc_physdev.c
@@ -49,7 +49,7 @@ int xc_physdev_map_pirq(xc_interface *xc
     map.domid = domid;
     map.type = MAP_PIRQ_TYPE_GSI;
     map.index = index;
-    map.pirq = *pirq;
+    map.pirq = *pirq < 0 ? index : *pirq;
 
     rc = do_physdev_op(xch, PHYSDEVOP_map_pirq, &map, sizeof(map));
 
--- a/tools/python/xen/xend/server/pciif.py
+++ b/too...
2008 Sep 23
9
Xen crash on dom0 shutdown
There is a BUG_ON() at xen/arch/x86/physdev.c:169 which appears to
be dependent upon guest behavior (should close event channel before
un-mapping pirq), rather than on internal hypervisor state. In 2.6.18,
this likely goes unnoticed because pci_device_shutdown() only calls all
the driver shutdown routines. In newer kernels, however, it also calls
pci_msi_shutdown() and pci_msix_shutdown(), which