Ask help about pre_init_apic_IRQ0()

From: Jiang Liu
Date: Thu Sep 11 2014 - 04:45:38 EST


Hi Thomas,

When converting IOAPIC to hierarchy irqdomain, I ran into trouble when
dealing with pre_init_apic_IRQ0(). Currently pre_init_apic_IRQ0() is
only used by intel-mid platform and is called before initializing of
IOAPIC irqdomains. That really causes headache when converting to
hierarchy irqdomain. So could we delay
io_apic_setup_irq_pin(0, 0, &attr);
irq_set_chip_and_handler_name(0, &ioapic_chip, handle_edge_irq,
"edge");
to the point of "check_timer()"?

I have no MID hardware at handle so can't experiment with it. Could
you please refer someone for help?

/* Enable IOAPIC early just for system timer */
void __init pre_init_apic_IRQ0(void)
{
struct io_apic_irq_attr attr = { 0, 0, 0, 0 };

printk(KERN_INFO "Early APIC setup for system timer0\n");
#ifndef CONFIG_SMP
physid_set_mask_of_physid(boot_cpu_physical_apicid,
&phys_cpu_present_map);
#endif
setup_local_APIC();

io_apic_setup_irq_pin(0, 0, &attr);
irq_set_chip_and_handler_name(0, &ioapic_chip, handle_edge_irq,
"edge");
}

Regards!
Gerry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/