CPU_IRQ_BASE
#define TIMER_IRQ (CPU_IRQ_BASE + 0)
#define IPI_IRQ (CPU_IRQ_BASE + 1)
#define CPU_IRQ_MAX (CPU_IRQ_BASE + (BITS_PER_LONG - 1))
for (irq = CPU_IRQ_BASE + 1; irq <= CPU_IRQ_MAX; irq++) {
if ((irq - CPU_IRQ_BASE) >= (1 << bits_wide))
return virt_irq - CPU_IRQ_BASE;
gsc_writel(irq + CPU_IRQ_BASE,
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
gsc_writel(IPI_IRQ - CPU_IRQ_BASE, p->hpa);
gsc_writel(TIMER_IRQ - CPU_IRQ_BASE, p->hpa);
irq += CPU_IRQ_BASE; /* virtualize the IRQ first */