44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _XEN_SMP_H
 | |
| 
 | |
| #ifdef CONFIG_SMP
 | |
| extern void xen_send_IPI_mask(const struct cpumask *mask,
 | |
| 			      int vector);
 | |
| extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
 | |
| 				int vector);
 | |
| extern void xen_send_IPI_allbutself(int vector);
 | |
| extern void xen_send_IPI_all(int vector);
 | |
| extern void xen_send_IPI_self(int vector);
 | |
| 
 | |
| extern int xen_smp_intr_init(unsigned int cpu);
 | |
| extern void xen_smp_intr_free(unsigned int cpu);
 | |
| int xen_smp_intr_init_pv(unsigned int cpu);
 | |
| void xen_smp_intr_free_pv(unsigned int cpu);
 | |
| 
 | |
| void xen_smp_cpus_done(unsigned int max_cpus);
 | |
| 
 | |
| void xen_smp_send_reschedule(int cpu);
 | |
| void xen_smp_send_call_function_ipi(const struct cpumask *mask);
 | |
| void xen_smp_send_call_function_single_ipi(int cpu);
 | |
| 
 | |
| struct xen_common_irq {
 | |
| 	int irq;
 | |
| 	char *name;
 | |
| };
 | |
| #else /* CONFIG_SMP */
 | |
| 
 | |
| static inline int xen_smp_intr_init(unsigned int cpu)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| static inline void xen_smp_intr_free(unsigned int cpu) {}
 | |
| 
 | |
| static inline int xen_smp_intr_init_pv(unsigned int cpu)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
 | |
| #endif /* CONFIG_SMP */
 | |
| 
 | |
| #endif
 | 
