smp.h revision 302408
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: stable/11/sys/amd64/include/smp.h 291949 2015-12-07 17:41:20Z kib $ 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 24extern int pmap_pcid_enabled; 25extern int invpcid_works; 26 27/* global symbols in mpboot.S */ 28extern char mptramp_start[]; 29extern char mptramp_end[]; 30extern u_int32_t mptramp_pagetables; 31 32/* IPI handlers */ 33inthand_t 34 IDTVEC(invltlb_pcid), /* TLB shootdowns - global, pcid */ 35 IDTVEC(invltlb_invpcid),/* TLB shootdowns - global, invpcid */ 36 IDTVEC(justreturn); /* interrupt CPU with minimum overhead */ 37 38void invltlb_pcid_handler(void); 39void invltlb_invpcid_handler(void); 40int native_start_all_aps(void); 41 42#endif /* !LOCORE */ 43#endif /* SMP */ 44 45#endif /* _KERNEL */ 46#endif /* _MACHINE_SMP_H_ */ 47