On Tue, Dec 8, 2020 at 5:31 PM Marc Zyngier <m...@kernel.org> wrote: > > On 2020-12-08 09:21, Pingfan Liu wrote: > > Although there is a runtime WARN_ON() when NR_IPR > max SGI, it had > > better > > do the check during built time, and associate these related code > > together. > > > > Signed-off-by: Pingfan Liu <kernelf...@gmail.com> > > Cc: Catalin Marinas <catalin.mari...@arm.com> > > Cc: Will Deacon <w...@kernel.org> > > Cc: Thomas Gleixner <t...@linutronix.de> > > Cc: Jason Cooper <ja...@lakedaemon.net> > > Cc: Marc Zyngier <m...@kernel.org> > > Cc: Mark Rutland <mark.rutl...@arm.com> > > To: linux-arm-ker...@lists.infradead.org > > Cc: linux-kernel@vger.kernel.org > > --- > > arch/arm64/kernel/smp.c | 2 ++ > > drivers/irqchip/irq-gic-v3.c | 2 +- > > drivers/irqchip/irq-gic.c | 2 +- > > include/linux/irqchip/arm-gic-common.h | 2 ++ > > 4 files changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c > > index 18e9727..9fc383c 100644 > > --- a/arch/arm64/kernel/smp.c > > +++ b/arch/arm64/kernel/smp.c > > @@ -33,6 +33,7 @@ > > #include <linux/kernel_stat.h> > > #include <linux/kexec.h> > > #include <linux/kvm_host.h> > > +#include <linux/irqchip/arm-gic-common.h> > > > > #include <asm/alternative.h> > > #include <asm/atomic.h> > > @@ -76,6 +77,7 @@ enum ipi_msg_type { > > IPI_WAKEUP, > > NR_IPI > > }; > > +static_assert(NR_IPI <= MAX_SGI_NUM); > > I am trying *very hard* to remove dependencies between the architecture > code and random drivers, so this kind of check really is > counter-productive. > > Driver code should not have to know the number of IPIs, because there is > no requirement that all IPIs should map 1:1 to SGIs. Conflating the two
Just curious about this. Is there an IPI which is not implemented by SGI? Or mapping several IPIs to a single SGI, and scatter out due to a global variable value? Thanks, Pingfan > is already wrong, and I really don't want to add more of that. > > Thanks, > > M. > -- > Jazz is not dead. It just smells funny...