1 /*- 2 * ---------------------------------------------------------------------------- 3 * "THE BEER-WARE LICENSE" (Revision 42): 4 * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you 5 * can do whatever you want with this stuff. If we meet some day, and you think 6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp 7 * ---------------------------------------------------------------------------- 8 * 9 */ 10 11 #ifndef _MACHINE_SMP_H_ 12 #define _MACHINE_SMP_H_ 13 14 #ifdef _KERNEL 15 16 #ifdef SMP 17 18 #ifndef LOCORE 19 20 #include <x86/x86_smp.h> 21 22 /* global symbols in mpboot.S */ 23 extern char mptramp_start[]; 24 extern u_int32_t mptramp_pagetables; 25 26 /* IPI handlers */ 27 inthand_t 28 IDTVEC(justreturn), /* interrupt CPU with minimum overhead */ 29 IDTVEC(justreturn1_pti), 30 IDTVEC(invlop_pti), 31 IDTVEC(invlop), 32 IDTVEC(ipi_intr_bitmap_handler_pti), 33 IDTVEC(ipi_swi_pti), 34 IDTVEC(cpustop_pti), 35 IDTVEC(cpususpend_pti), 36 IDTVEC(rendezvous_pti); 37 38 void invlop_handler(void); 39 int start_all_aps(void); 40 41 #endif /* !LOCORE */ 42 #endif /* SMP */ 43 44 #endif /* _KERNEL */ 45 #endif /* _MACHINE_SMP_H_ */ 46