Displaying 4 results from an estimated 4 matches for "map_pirq_type_msi".
2009 Jan 09
5
[PATCH] Enable PCI passthrough with stub domain.
...Shohei Fujiwara.
Signed-off-by: Shohei Fujiwara <fujiwara-sxa@necst.nec.co.jp>
diff -r b9721b2766c1 xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c Wed Jan 07 11:25:00 2009 +0000
+++ b/xen/arch/x86/irq.c Thu Jan 08 18:58:36 2009 +0900
@@ -857,7 +857,7 @@ int map_domain_pirq(
if ( type == MAP_PIRQ_TYPE_MSI )
return -EINVAL;
- if ( !IS_PRIV(current->domain) )
+ if ( !IS_PRIV_FOR(current->domain, d) )
return -EPERM;
if ( pirq < 0 || pirq >= NR_IRQS || vector < 0 || vector >= NR_VECTORS )
@@ -931,7 +931,7 @@ int unmap_domain_pirq(struct domain *d,...
2011 Sep 21
0
[PATCH] x86: IO-APIC code has no dependency on PCI
...igned long flags;
- struct msi_desc *msi_desc;
- struct pci_dev *pdev = NULL;
- ASSERT(spin_is_locked(&pcidevs_lock));
ASSERT(spin_is_locked(&d->event_lock));
if ( !IS_PRIV(current->domain) &&
@@ -1707,6 +1704,10 @@ int map_domain_pirq(
if ( type == MAP_PIRQ_TYPE_MSI )
{
struct msi_info *msi = (struct msi_info *)data;
+ struct msi_desc *msi_desc;
+ struct pci_dev *pdev;
+
+ ASSERT(spin_is_locked(&pcidevs_lock));
ret = -ENODEV;
if ( !cpu_has_apic )
_______________________________________________
Xen...
2010 Feb 26
0
[Xen-devel] Crash during boot in Debian lenny default dom0 kernel (2.6.26-2-xen-686) / bugfix patch
...(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_irq.bus = dev->bus->number;
+ map_irq.devfn = dev->devfn;
+ map_irq....
2008 Sep 26
2
RE: [Xen-changelog] [xen-unstable] x86: Properly synchronise updates to pirq-to-vector mapping.
...{
dprintk(XENLOG_G_ERR, "dom%d: could not permit access to irq %d\n",
d->domain_id, pirq);
- goto done;
- }
+ return ret;
+ }
+
+ desc = &irq_desc[vector];
+ spin_lock_irqsave(&desc->lock, flags);
if ( map && MAP_PIRQ_TYPE_MSI == map->type )
{
- irq_desc_t *desc;
- unsigned long flags;
-
- desc = &irq_desc[vector];
-
- spin_lock_irqsave(&desc->lock, flags);
if ( desc->handler != &no_irq_type )
dprintk(XENLOG_G_ERR, "dom%d: vector %d...