search for: physdev_map_pirq

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