Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _XEN_SMP_H
 3
 4#ifdef CONFIG_SMP
 
 
 
 
 5extern void xen_send_IPI_mask(const struct cpumask *mask,
 6			      int vector);
 7extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
 8				int vector);
 9extern void xen_send_IPI_allbutself(int vector);
10extern void xen_send_IPI_all(int vector);
11extern void xen_send_IPI_self(int vector);
12
13extern int xen_smp_intr_init(unsigned int cpu);
14extern void xen_smp_intr_free(unsigned int cpu);
15int xen_smp_intr_init_pv(unsigned int cpu);
16void xen_smp_intr_free_pv(unsigned int cpu);
17
 
18void xen_smp_cpus_done(unsigned int max_cpus);
19
20void xen_smp_send_reschedule(int cpu);
21void xen_smp_send_call_function_ipi(const struct cpumask *mask);
22void xen_smp_send_call_function_single_ipi(int cpu);
23
 
 
24struct xen_common_irq {
25	int irq;
26	char *name;
27};
28#else /* CONFIG_SMP */
29
30static inline int xen_smp_intr_init(unsigned int cpu)
31{
32	return 0;
33}
34static inline void xen_smp_intr_free(unsigned int cpu) {}
35
36static inline int xen_smp_intr_init_pv(unsigned int cpu)
37{
38	return 0;
39}
40static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
 
41#endif /* CONFIG_SMP */
42
43#endif
v6.9.4
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _XEN_SMP_H
 3
 4#ifdef CONFIG_SMP
 5
 6void asm_cpu_bringup_and_idle(void);
 7asmlinkage void cpu_bringup_and_idle(void);
 8
 9extern void xen_send_IPI_mask(const struct cpumask *mask,
10			      int vector);
11extern void xen_send_IPI_mask_allbutself(const struct cpumask *mask,
12				int vector);
13extern void xen_send_IPI_allbutself(int vector);
14extern void xen_send_IPI_all(int vector);
15extern void xen_send_IPI_self(int vector);
16
17extern int xen_smp_intr_init(unsigned int cpu);
18extern void xen_smp_intr_free(unsigned int cpu);
19int xen_smp_intr_init_pv(unsigned int cpu);
20void xen_smp_intr_free_pv(unsigned int cpu);
21
22void xen_smp_count_cpus(void);
23void xen_smp_cpus_done(unsigned int max_cpus);
24
25void xen_smp_send_reschedule(int cpu);
26void xen_smp_send_call_function_ipi(const struct cpumask *mask);
27void xen_smp_send_call_function_single_ipi(int cpu);
28
29void __noreturn xen_cpu_bringup_again(unsigned long stack);
30
31struct xen_common_irq {
32	int irq;
33	char *name;
34};
35#else /* CONFIG_SMP */
36
37static inline int xen_smp_intr_init(unsigned int cpu)
38{
39	return 0;
40}
41static inline void xen_smp_intr_free(unsigned int cpu) {}
42
43static inline int xen_smp_intr_init_pv(unsigned int cpu)
44{
45	return 0;
46}
47static inline void xen_smp_intr_free_pv(unsigned int cpu) {}
48static inline void xen_smp_count_cpus(void) { }
49#endif /* CONFIG_SMP */
50
51#endif