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 * ----------------------------------------------------------------------------
13 #ifndef _MACHINE_SMP_H_
14 #define _MACHINE_SMP_H_
22 #include <x86/x86_smp.h>
24 /* global symbols in mpboot.S */
25 extern char mptramp_start[];
26 extern u_int32_t mptramp_pagetables;
30 IDTVEC(justreturn), /* interrupt CPU with minimum overhead */
31 IDTVEC(justreturn1_pti),
33 IDTVEC(invltlb_pcid_pti),
34 IDTVEC(invltlb_pcid), /* TLB shootdowns - global, pcid */
35 IDTVEC(invltlb_invpcid_pti_pti),
36 IDTVEC(invltlb_invpcid_nopti),
38 IDTVEC(invlpg_invpcid_pti),
39 IDTVEC(invlpg_invpcid),
40 IDTVEC(invlpg_pcid_pti),
43 IDTVEC(invlrng_invpcid_pti),
44 IDTVEC(invlrng_invpcid),
45 IDTVEC(invlrng_pcid_pti),
47 IDTVEC(invlcache_pti),
48 IDTVEC(ipi_intr_bitmap_handler_pti),
50 IDTVEC(cpususpend_pti),
51 IDTVEC(rendezvous_pti);
53 void invltlb_pcid_handler(void);
54 void invltlb_invpcid_handler(void);
55 void invltlb_invpcid_pti_handler(void);
56 void invlpg_invpcid_handler(void);
57 void invlpg_pcid_handler(void);
58 void invlrng_invpcid_handler(void);
59 void invlrng_pcid_handler(void);
60 int native_start_all_aps(void);
61 void mp_bootaddress(vm_paddr_t *, unsigned int *);
67 #endif /* _MACHINE_SMP_H_ */