1*433d6423SLionel Sambuc #ifndef __APIC_ASM_H__ 2*433d6423SLionel Sambuc #define __APIC_ASM_H__ 3*433d6423SLionel Sambuc 4*433d6423SLionel Sambuc 5*433d6423SLionel Sambuc #ifndef __ASSEMBLY__ 6*433d6423SLionel Sambuc #include "kernel/kernel.h" 7*433d6423SLionel Sambuc 8*433d6423SLionel Sambuc void apic_hwint0(void); 9*433d6423SLionel Sambuc void apic_hwint1(void); 10*433d6423SLionel Sambuc void apic_hwint2(void); 11*433d6423SLionel Sambuc void apic_hwint3(void); 12*433d6423SLionel Sambuc void apic_hwint4(void); 13*433d6423SLionel Sambuc void apic_hwint5(void); 14*433d6423SLionel Sambuc void apic_hwint6(void); 15*433d6423SLionel Sambuc void apic_hwint7(void); 16*433d6423SLionel Sambuc void apic_hwint8(void); 17*433d6423SLionel Sambuc void apic_hwint9(void); 18*433d6423SLionel Sambuc void apic_hwint10(void); 19*433d6423SLionel Sambuc void apic_hwint11(void); 20*433d6423SLionel Sambuc void apic_hwint12(void); 21*433d6423SLionel Sambuc void apic_hwint13(void); 22*433d6423SLionel Sambuc void apic_hwint14(void); 23*433d6423SLionel Sambuc void apic_hwint15(void); 24*433d6423SLionel Sambuc void apic_hwint16(void); 25*433d6423SLionel Sambuc void apic_hwint17(void); 26*433d6423SLionel Sambuc void apic_hwint18(void); 27*433d6423SLionel Sambuc void apic_hwint19(void); 28*433d6423SLionel Sambuc void apic_hwint20(void); 29*433d6423SLionel Sambuc void apic_hwint21(void); 30*433d6423SLionel Sambuc void apic_hwint22(void); 31*433d6423SLionel Sambuc void apic_hwint23(void); 32*433d6423SLionel Sambuc void apic_hwint24(void); 33*433d6423SLionel Sambuc void apic_hwint25(void); 34*433d6423SLionel Sambuc void apic_hwint26(void); 35*433d6423SLionel Sambuc void apic_hwint27(void); 36*433d6423SLionel Sambuc void apic_hwint28(void); 37*433d6423SLionel Sambuc void apic_hwint29(void); 38*433d6423SLionel Sambuc void apic_hwint30(void); 39*433d6423SLionel Sambuc void apic_hwint31(void); 40*433d6423SLionel Sambuc void apic_hwint32(void); 41*433d6423SLionel Sambuc void apic_hwint33(void); 42*433d6423SLionel Sambuc void apic_hwint34(void); 43*433d6423SLionel Sambuc void apic_hwint35(void); 44*433d6423SLionel Sambuc void apic_hwint36(void); 45*433d6423SLionel Sambuc void apic_hwint37(void); 46*433d6423SLionel Sambuc void apic_hwint38(void); 47*433d6423SLionel Sambuc void apic_hwint39(void); 48*433d6423SLionel Sambuc void apic_hwint40(void); 49*433d6423SLionel Sambuc void apic_hwint41(void); 50*433d6423SLionel Sambuc void apic_hwint42(void); 51*433d6423SLionel Sambuc void apic_hwint43(void); 52*433d6423SLionel Sambuc void apic_hwint44(void); 53*433d6423SLionel Sambuc void apic_hwint45(void); 54*433d6423SLionel Sambuc void apic_hwint46(void); 55*433d6423SLionel Sambuc void apic_hwint47(void); 56*433d6423SLionel Sambuc void apic_hwint48(void); 57*433d6423SLionel Sambuc void apic_hwint49(void); 58*433d6423SLionel Sambuc void apic_hwint50(void); 59*433d6423SLionel Sambuc void apic_hwint51(void); 60*433d6423SLionel Sambuc void apic_hwint52(void); 61*433d6423SLionel Sambuc void apic_hwint53(void); 62*433d6423SLionel Sambuc void apic_hwint54(void); 63*433d6423SLionel Sambuc void apic_hwint55(void); 64*433d6423SLionel Sambuc void apic_hwint56(void); 65*433d6423SLionel Sambuc void apic_hwint57(void); 66*433d6423SLionel Sambuc void apic_hwint58(void); 67*433d6423SLionel Sambuc void apic_hwint59(void); 68*433d6423SLionel Sambuc void apic_hwint60(void); 69*433d6423SLionel Sambuc void apic_hwint61(void); 70*433d6423SLionel Sambuc void apic_hwint62(void); 71*433d6423SLionel Sambuc void apic_hwint63(void); 72*433d6423SLionel Sambuc 73*433d6423SLionel Sambuc /* The local APIC timer tick handlers */ 74*433d6423SLionel Sambuc void lapic_timer_int_handler(void); 75*433d6423SLionel Sambuc void apic_spurios_intr(void); 76*433d6423SLionel Sambuc void apic_error_intr(void); 77*433d6423SLionel Sambuc 78*433d6423SLionel Sambuc #endif 79*433d6423SLionel Sambuc 80*433d6423SLionel Sambuc #define APIC_DEBUG 81*433d6423SLionel Sambuc 82*433d6423SLionel Sambuc #ifdef APIC_DEBUG 83*433d6423SLionel Sambuc 84*433d6423SLionel Sambuc #define LAPIC_INTR_DUMMY_HANDLER_SIZE 32 85*433d6423SLionel Sambuc 86*433d6423SLionel Sambuc #ifndef __ASSEMBLY__ 87*433d6423SLionel Sambuc EXTERN char lapic_intr_dummy_handles_start; 88*433d6423SLionel Sambuc EXTERN char lapic_intr_dummy_handles_end; 89*433d6423SLionel Sambuc #endif 90*433d6423SLionel Sambuc 91*433d6423SLionel Sambuc #endif /* APIC_DEBUG */ 92*433d6423SLionel Sambuc 93*433d6423SLionel Sambuc #endif /* __APIC_ASM_H__ */ 94