- local APIC timer used as the source of time - PIC is still used as the hw interrupt controller as we don't have enough info without ACPI or MPS to set up IO APICs - remapping of APIC when switching paging on, uses the new mechanism to tell VM what phys areas to map in kernel's virtual space - one more step to SMP based on code by Arun C.
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
#ifndef __APIC_ASM_H__
|
|
#define __APIC_ASM_H__
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
#include "../../kernel.h"
|
|
|
|
_PROTOTYPE( void apic_hwint00, (void) );
|
|
_PROTOTYPE( void apic_hwint01, (void) );
|
|
_PROTOTYPE( void apic_hwint02, (void) );
|
|
_PROTOTYPE( void apic_hwint03, (void) );
|
|
_PROTOTYPE( void apic_hwint04, (void) );
|
|
_PROTOTYPE( void apic_hwint05, (void) );
|
|
_PROTOTYPE( void apic_hwint06, (void) );
|
|
_PROTOTYPE( void apic_hwint07, (void) );
|
|
_PROTOTYPE( void apic_hwint08, (void) );
|
|
_PROTOTYPE( void apic_hwint09, (void) );
|
|
_PROTOTYPE( void apic_hwint10, (void) );
|
|
_PROTOTYPE( void apic_hwint11, (void) );
|
|
_PROTOTYPE( void apic_hwint12, (void) );
|
|
_PROTOTYPE( void apic_hwint13, (void) );
|
|
_PROTOTYPE( void apic_hwint14, (void) );
|
|
_PROTOTYPE( void apic_hwint15, (void) );
|
|
|
|
/* The local APIC timer tick handlers */
|
|
_PROTOTYPE(void lapic_bsp_timer_int_handler, (void));
|
|
_PROTOTYPE(void lapic_ap_timer_int_handler, (void));
|
|
|
|
#endif
|
|
|
|
#define CONFIG_APIC_DEBUG
|
|
|
|
#ifdef CONFIG_APIC_DEBUG
|
|
|
|
#define LAPIC_INTR_DUMMY_HANDLER_SIZE 32
|
|
|
|
#ifndef __ASSEMBLY__
|
|
EXTERN char lapic_intr_dummy_handles_start;
|
|
EXTERN char lapic_intr_dummy_handles_end;
|
|
#endif
|
|
|
|
#endif /* CONFIG_APIC_DEBUG */
|
|
|
|
#endif /* __APIC_ASM_H__ */
|