ack_APIC_irq();
}
-void __init apic_intr_init(void)
-{
- smp_intr_init();
-
- /* self generated IPI for local APIC timer */
- set_direct_apic_vector(LOCAL_TIMER_VECTOR, apic_timer_interrupt);
-
- /* IPI vectors for APIC spurious and error interrupts */
- set_direct_apic_vector(SPURIOUS_APIC_VECTOR, spurious_interrupt);
- set_direct_apic_vector(ERROR_APIC_VECTOR, error_interrupt);
-
- /* Performance Counters Interrupt */
- set_direct_apic_vector(PMU_APIC_VECTOR, pmu_apic_interrupt);
-}
-
/* Using APIC to generate smp_local_timer_interrupt? */
static bool __read_mostly using_apic_timer;
return apic_tmict || !timeout;
}
-void cf_check apic_timer_interrupt(struct cpu_user_regs *regs)
+static void cf_check apic_timer_interrupt(struct cpu_user_regs *regs)
{
ack_APIC_irq();
perfc_incr(apic_timer);
/*
* Spurious interrupts should _never_ happen with our APIC/SMP architecture.
*/
-void cf_check spurious_interrupt(struct cpu_user_regs *regs)
+static void cf_check spurious_interrupt(struct cpu_user_regs *regs)
{
/*
* Check if this is a vectored interrupt (most likely, as this is probably
* This interrupt should never happen with our APIC/SMP architecture
*/
-void cf_check error_interrupt(struct cpu_user_regs *regs)
+static void cf_check error_interrupt(struct cpu_user_regs *regs)
{
static const char *const esr_fields[] = {
"Send CS error",
* This interrupt handles performance counters interrupt
*/
-void cf_check pmu_apic_interrupt(struct cpu_user_regs *regs)
+static void cf_check pmu_interrupt(struct cpu_user_regs *regs)
{
ack_APIC_irq();
vpmu_do_interrupt(regs);
}
+void __init apic_intr_init(void)
+{
+ smp_intr_init();
+
+ /* self generated IPI for local APIC timer */
+ set_direct_apic_vector(LOCAL_TIMER_VECTOR, apic_timer_interrupt);
+
+ /* IPI vectors for APIC spurious and error interrupts */
+ set_direct_apic_vector(SPURIOUS_APIC_VECTOR, spurious_interrupt);
+ set_direct_apic_vector(ERROR_APIC_VECTOR, error_interrupt);
+
+ /* Performance Counters Interrupt */
+ set_direct_apic_vector(PMU_APIC_VECTOR, pmu_interrupt);
+}
+
/*
* This initializes the IO-APIC and APIC hardware if this is
* a UP kernel.
void cf_check event_check_interrupt(struct cpu_user_regs *regs);
void cf_check invalidate_interrupt(struct cpu_user_regs *regs);
void cf_check call_function_interrupt(struct cpu_user_regs *regs);
-void cf_check apic_timer_interrupt(struct cpu_user_regs *regs);
-void cf_check error_interrupt(struct cpu_user_regs *regs);
-void cf_check pmu_apic_interrupt(struct cpu_user_regs *regs);
-void cf_check spurious_interrupt(struct cpu_user_regs *regs);
void cf_check irq_move_cleanup_interrupt(struct cpu_user_regs *regs);
uint8_t alloc_hipriority_vector(void);