setup.c 909 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Machine specific setup for generic
  3. */
  4. #include <linux/config.h>
  5. #include <linux/init.h>
  6. #include <linux/irq.h>
  7. #include <linux/interrupt.h>
  8. #include <asm/acpi.h>
  9. #include <asm/arch_hooks.h>
  10. void __init pre_intr_init_hook(void)
  11. {
  12. init_ISA_irqs();
  13. }
  14. /*
  15. * IRQ2 is cascade interrupt to second interrupt controller
  16. */
  17. static struct irqaction irq2 = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL};
  18. void __init intr_init_hook(void)
  19. {
  20. #ifdef CONFIG_SMP
  21. smp_intr_init();
  22. #endif
  23. if (!acpi_ioapic)
  24. setup_irq(2, &irq2);
  25. }
  26. void __init pre_setup_arch_hook(void)
  27. {
  28. /* Voyagers run their CPUs from independent clocks, so disable
  29. * the TSC code because we can't sync them */
  30. tsc_disable = 1;
  31. }
  32. void __init trap_init_hook(void)
  33. {
  34. }
  35. static struct irqaction irq0 = { timer_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "timer", NULL, NULL};
  36. void __init time_init_hook(void)
  37. {
  38. setup_irq(0, &irq0);
  39. }