[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 03/21] xen/arm: make sgi handling generic
On Thu, 2014-06-12 at 19:06 +0530, vijay.kilari@xxxxxxxxx wrote: > void send_SGI_allbutself(enum gic_sgi sgi) > { > + cpumask_t all_others_mask; > ASSERT(sgi < 16); /* There are only 16 SGIs */ > > + cpumask_andnot(&all_others_mask, &cpu_possible_map, > cpumask_of(smp_processor_id())); > dsb(sy); > > - GICD[GICD_SGIR] = GICD_SGI_TARGET_OTHERS > - | sgi; > + send_SGI(&all_others_mask, sgi, SGI_TARGET_OTHERS); What is all_others_mask for here? send_sgi doesn't reference that argument when SGI_TARGET_OTHERS is used. Ah, I see Stefano asked in v4 and you explained (hint: when someone has to ask it often indicates that it is worth explaining in the commit message next time around). You said: In GICv2 the mask is not used in some cases. However mask value is used in GICv3. To make it generic mask value is always computed. I think the right answer here is for the gicv3 implementation of send_SGI to calculate the mask for SGI_TARGET_OTHERS and SGI_TARGET_SELF internally. I'd also be inclined to put the mask as the last argument, i..e static void send_SGI(enum gic_sgi sgi, enum gic_sgi_mode irqmode, const cpumask_t *cpu_mask) That seems like a more natural argument order to me. (i.e. what, where to, more detailed target when required). Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |