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

Re: [Xen-devel] [PATCH v4 16/33] xen/arm: Let the toolstack configure the number of SPIs



On Tue, 2015-03-31 at 12:44 +0100, Julien Grall wrote:
> Hi Ian,
> 
> On 31/03/15 11:54, Ian Campbell wrote:
> > On Thu, 2015-03-19 at 19:29 +0000, Julien Grall wrote:
> >> @@ -68,16 +68,17 @@ static void vgic_init_pending_irq(struct pending_irq 
> >> *p, unsigned int virq)
> >>      p->irq = virq;
> >>  }
> >>  
> >> -int domain_vgic_init(struct domain *d)
> >> +int domain_vgic_init(struct domain *d, unsigned int nr_spis)
> >>  {
> >>      int i;
> >>  
> >>      d->arch.vgic.ctlr = 0;
> >>  
> > [...]
> >> +    /* Limit the number of SPIs supported base on the hardware */
> >> +    if ( nr_spis > (gic_number_lines() - NR_LOCAL_IRQS) )
> >> +        return -EINVAL;
> > 
> > Is there anything in the h/w which leads to this restriction?
> 
> The h/w accept an VirtualID < 1020. Although, given that we can only
> route a physical interrupt to the guest, it's pointless to support more
> SPIs than the h/w does.

Right, but it's an artificial restriction at this level. Lets not
bother.

> > If not then I think we should just check against the architectural 1020
> > limit and leave it at that.
> 
> I would have to check on 988 (1020 - 32) which I find less readable.

I'd test nr_spis+32 < 1020, which I think is clear enough.

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