Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/mpic: Create a revmap with enough entries for IPIs and timers

The current mpic code creates a linear revmap just big enough for all
the sources, which happens to miss the IPIs and timers on some machines.

This will in turn break when the irqdomain code loses the fallback of
doing a linear search when the revmap fails (and really slows down IPIs
otherwise).

This happens for example on the U4 based Apple machines such as the
dual core PowerMac G5s.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

+1 -1
+1 -1
arch/powerpc/sysdev/mpic.c
··· 1376 1376 mpic->isu_mask = (1 << mpic->isu_shift) - 1; 1377 1377 1378 1378 mpic->irqhost = irq_domain_add_linear(mpic->node, 1379 - last_irq + 1, 1379 + intvec_top, 1380 1380 &mpic_host_ops, mpic); 1381 1381 1382 1382 /*