/SPARTAN/trunk/arch/ia32/src/ia32.c |
58,8 → 58,7 |
trap_register(VECTOR_SYSCALL, syscall); |
|
#ifdef __SMP__ |
trap_register(VECTOR_TLB_SHOOTDOWN_IPI, tlb_shootdown_ipi); |
trap_register(VECTOR_WAKEUP_IPI, wakeup_ipi); |
trap_register(VECTOR_TLB_SHOOTDOWN, tlb_shootdown_ipi); |
#endif /* __SMP__ */ |
} |
} |
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c |
29,7 → 29,19 |
#include <mm/tlb.h> |
#include <arch/asm.h> |
|
#ifdef __SMP__ |
#include <arch/apic.h> |
#include <arch/interrupt.h> |
#endif /* __SMP__ */ |
|
void tlb_invalidate(int asid) |
{ |
cpu_write_dba(cpu_read_dba()); |
} |
|
#ifdef __SMP__ |
void tlb_shootdown_ipi_send(void) |
{ |
(void) l_apic_broadcast_custom_ipi(VECTOR_TLB_SHOOTDOWN); |
} |
#endif /* __SMP__ */ |
/SPARTAN/trunk/arch/ia32/src/interrupt.c |
100,11 → 100,6 |
tlb_shootdown_ipi_recv(); |
} |
|
void wakeup_ipi(__u8 n, __u32 stack[]) |
{ |
trap_virtual_eoi(); |
} |
|
void trap_virtual_enable_irqs(__u16 irqmask) |
{ |
if (enable_irqs_function) |