Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/smp/apic.c

    r2a103b5 ref56a43  
    4747#include <arch.h>
    4848#include <ddi/irq.h>
    49 #include <genarch/pic/pic_ops.h>
    5049
    5150#ifdef CONFIG_SMP
     
    6362 *
    6463 */
    65 
    66 static const char *apic_get_name(void);
    67 static bool l_apic_is_spurious(unsigned int);
    68 static void l_apic_handle_spurious(unsigned int);
    69 
    70 pic_ops_t apic_pic_ops = {
    71         .get_name = apic_get_name,
    72         .enable_irqs = io_apic_enable_irqs,
    73         .disable_irqs = io_apic_disable_irqs,
    74         .eoi = l_apic_eoi,
    75         .is_spurious = l_apic_is_spurious,
    76         .handle_spurious = l_apic_handle_spurious,
    77 };
    7864
    7965/*
     
    139125#endif /* LAPIC_VERBOSE */
    140126
    141 const char *apic_get_name(void)
    142 {
    143         return "apic";
    144 }
    145 
    146 bool l_apic_is_spurious(unsigned int n)
    147 {
    148         return n == VECTOR_APIC_SPUR;
    149 }
    150 
    151 void l_apic_handle_spurious(unsigned int n)
    152 {
    153 }
    154 
    155127/** APIC spurious interrupt handler.
    156128 *
     
    162134    istate_t *istate __attribute__((unused)))
    163135{
     136#ifdef CONFIG_DEBUG
     137        log(LF_ARCH, LVL_DEBUG, "cpu%u: APIC spurious interrupt", CPU->id);
     138#endif
    164139}
    165140
     
    200175            (iroutine_t) apic_spurious);
    201176
    202         pic_ops = &apic_pic_ops;
     177        enable_irqs_function = io_apic_enable_irqs;
     178        disable_irqs_function = io_apic_disable_irqs;
     179        eoi_function = l_apic_eoi;
     180        irqs_info = "apic";
    203181
    204182        /*
Note: See TracChangeset for help on using the changeset viewer.