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

Re: [Xen-devel] [PATCH v3 4/5] xen: arm: map child MMIO and IRQs to dom0 for PCI bus DT nodes.



On Wed, 2015-04-29 at 17:22 +0100, Julien Grall wrote:
> Hi Ian,
> 
> On 20/04/15 13:16, Ian Campbell wrote:
> > +static int map_interrupt_to_domain(const struct dt_device_node *dev,
> > +                                   const struct dt_raw_irq *dt_raw_irq,
> > +                                   void *data)
> > +{
> 
> [..]
> 
> > +    res = route_irq_to_guest(d, dt_irq.irq, dt_irq.irq, dt_node_name(dev));
> > +    if ( res < 0 )
> > +    {
> > +        printk(XENLOG_ERR "Unable to map IRQ%"PRId32" to dom%d\n",
> > +               dt_irq.irq, d->domain_id);
> > +        return res;
> > +    }
> 
> You forgot to give the IRQ permission to the domain.

IOW I should call irq_permit_access, between irq_set_spi_type and
route_irq_to_guest I think?

Should I be calling vgic_reserve_virq here as well? Other similar
looking code does.

It seems that handle_device() calls vgic_reserve_virq twice with the
same arguments (once conditionally, the other not). Is that a rebase-o?
Seems to have happened in cb818a58f6f785bb41a35bc1d1e52c66ffbe1e8b.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.