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 * $FreeBSD$ 10 * 11 */ 12 13 #ifndef _MACHINE_SMP_H_ 14 #define _MACHINE_SMP_H_ 15 16 #ifdef _KERNEL 17 18 #ifdef SMP 19 20 #ifndef LOCORE 21 22 #include <x86/x86_smp.h> 23 24 /* global symbols in mpboot.S */ 25 extern char mptramp_start[]; 26 extern char mptramp_end[]; 27 extern u_int32_t mptramp_pagetables; 28 29 /* IPI handlers */ 30 inthand_t 31 IDTVEC(invltlb_pcid), /* TLB shootdowns - global, pcid */ 32 IDTVEC(invltlb_invpcid),/* TLB shootdowns - global, invpcid */ 33 IDTVEC(justreturn); /* interrupt CPU with minimum overhead */ 34 35 void invltlb_pcid_handler(void); 36 void invltlb_invpcid_handler(void); 37 int native_start_all_aps(void); 38 39 #endif /* !LOCORE */ 40 #endif /* SMP */ 41 42 #endif /* _KERNEL */ 43 #endif /* _MACHINE_SMP_H_ */ 44