|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 5/6] xen/arm: physical irq follow virtual irq
On Fri, 2014-07-04 at 11:51 +0100, Julien Grall wrote:
> On 07/03/2014 05:53 PM, Stefano Stabellini wrote:
> > diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
> > index 695c232..c3d2853 100644
> > --- a/xen/arch/arm/gic-v2.c
> > +++ b/xen/arch/arm/gic-v2.c
> > @@ -532,9 +532,22 @@ static void gicv2_guest_irq_end(struct irq_desc *desc)
> > /* Deactivation happens in maintenance interrupt / via GICV */
> > }
> >
> > -static void gicv2_irq_set_affinity(struct irq_desc *desc, const cpumask_t
> > *mask)
> > +static void gicv2_irq_set_affinity(struct irq_desc *desc, const cpumask_t
> > *cpu_mask)
> > {
> > - BUG();
> > + volatile unsigned char *bytereg;
> > + unsigned int mask;
> > +
> > + ASSERT(!cpumask_empty(cpu_mask));
> > +
> > + spin_lock(&gicv2.lock);
> > +
> > + mask = gicv2_cpu_mask(cpu_mask);
> > +
> > + /* Set target CPU mask (RAZ/WI on uniprocessor) */
> > + bytereg = (unsigned char *) (GICD + GICD_ITARGETSR);
> > + bytereg[desc->irq] = mask;
>
> The new implemenation of GICv2 is using {read,write}* helpers. Can you
> use writeb_relaxed here, please?
Now called writeb_gicd(mask, GICD_ITARGETSR + desc->irq) in staging...
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |