[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/arm: gic-v3: Implement correctly the callback send_SGI
Hi Ian, On 08/05/15 15:01, Ian Campbell wrote: > On Mon, 2015-04-27 at 19:31 +0100, Julien Grall wrote: >> Currently, the GICv3 drivers is only able to send an SGI when the cpumask > > "driver" > >> is provided. Although with the modes SGI_TARGET_OTHERS and SGI_TARGET_SELF, >> no cpumask is provided. Any usage of those modes will crash the hypersivor. >> >> Move the rename gicv3_send_sgi to gicv3_send_sgi_list and implement the > > s/Move the r/R/ I missed while reviewing the commit message. I will fix it in the next version. >> different modes: >> - SGI_TARGET_OTHERS: Set the Interrupt Routing Mode (bit 40) to 1 >> (see Table 4 on Section 4.2.6 PRD03-GENC-010745 24.0) >> - SGI_TARGET_SELF: Contrawise GICv2, the SGI registers doesn't provide > > "Contrariwise"? But I think you really mean "Unlike". I'd also say "the > GICv3 SGI registers" and s/doesn't/don't/. Yes, "unlike" is better here. > >> a specific field. So use gicv3_send_sgi_list and pass the cpumask of >> the current CPU >> - SGI_TARGET_LIST: Directly call gicv3_send_sgi_list with the given >> cpumask >> >> Reported-by: Chen Baozi <baozich@xxxxxxxxx> >> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> > > Apart from the commit message nits one code comment: > > [...] >> + case SGI_TARGET_OTHERS: >> + WRITE_SYSREG(ICH_SGI_TARGET_OTHERS << ICH_SGI_IRQMODE_SHIFT | >> + (register_t)sgi << ICH_SGI_IRQ_SHIFT, > > I don't think you want register_t here, unless ICC_SGI1R_EL1 might be a > different width on different architectures. Yes, ICC_SGIR1_EL1 is always 64-bit. > I think you should just cast to uint64_t and WRITE_SYSREG64. Right, I blindly re-use the WRITE_SYSREG as it was done on the previous implementation. Although, the gic-v3 code seems to always use {READ,WRITE}_SYSREG. This seems wrong too. I will send a patch for replace the calls by the the 64-bit version. Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |