diff options
Diffstat (limited to 'sys/x86/include')
| -rw-r--r-- | sys/x86/include/apicvar.h | 3 | ||||
| -rw-r--r-- | sys/x86/include/intr_machdep.h | 1 | ||||
| -rw-r--r-- | sys/x86/include/x86_smp.h | 2 | 
3 files changed, 5 insertions, 1 deletions
diff --git a/sys/x86/include/apicvar.h b/sys/x86/include/apicvar.h index c537d0ee0cdd..551f5527ac00 100644 --- a/sys/x86/include/apicvar.h +++ b/sys/x86/include/apicvar.h @@ -134,7 +134,8 @@  #define	IPI_STOP	(APIC_IPI_INTS + 6)	/* Stop CPU until restarted. */  #define	IPI_SUSPEND	(APIC_IPI_INTS + 7)	/* Suspend CPU until restarted. */  #define	IPI_SWI		(APIC_IPI_INTS + 8)	/* Run clk_intr_event. */ -#define	IPI_DYN_FIRST	(APIC_IPI_INTS + 9) +#define	IPI_OFF		(APIC_IPI_INTS + 9)	/* Stop CPU forever */ +#define	IPI_DYN_FIRST	(APIC_IPI_INTS + 10)  #define	IPI_DYN_LAST	(254)			/* IPIs allocated at runtime */  /* diff --git a/sys/x86/include/intr_machdep.h b/sys/x86/include/intr_machdep.h index 9e913440c712..497c89b0a7eb 100644 --- a/sys/x86/include/intr_machdep.h +++ b/sys/x86/include/intr_machdep.h @@ -142,6 +142,7 @@ int	intr_add_handler(struct intsrc *isrc, const char *name,  int	intr_config_intr(struct intsrc *isrc, enum intr_trigger trig,      enum intr_polarity pol);  int	intr_describe(struct intsrc *isrc, void *ih, const char *descr); +void	intr_disable_all(void);  void	intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);  u_int	intr_next_cpu(int domain);  struct intsrc *intr_lookup_source(int vector); diff --git a/sys/x86/include/x86_smp.h b/sys/x86/include/x86_smp.h index 8b9eb2ec9b66..f5015e9d8a24 100644 --- a/sys/x86/include/x86_smp.h +++ b/sys/x86/include/x86_smp.h @@ -77,6 +77,7 @@ extern u_long *ipi_rendezvous_counts[MAXCPU];  inthand_t  	IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */   	IDTVEC(ipi_swi),	/* Runs delayed SWI */ +	IDTVEC(cpuoff),		/* CPU goes offline until hard reset */  	IDTVEC(cpustop),	/* CPU stops & waits to be restarted */  	IDTVEC(cpususpend),	/* CPU suspends & waits to be resumed */  	IDTVEC(rendezvous);	/* handle CPU rendezvous */ @@ -93,6 +94,7 @@ void	assign_cpu_ids(void);  void	cpu_add(u_int apic_id, char boot_cpu);  void	cpustop_handler(void);  void	cpususpend_handler(void); +void	cpuoff_handler(void);  void	init_secondary_tail(void);  void	init_secondary(void);  void	ipi_startup(int apic_id, int vector);  | 
