setup.c 886 B

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