1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 206879033SJaswinder Singh Rajput #ifndef _ASM_X86_CPUMASK_H 306879033SJaswinder Singh Rajput #define _ASM_X86_CPUMASK_H 406879033SJaswinder Singh Rajput #ifndef __ASSEMBLY__ 506879033SJaswinder Singh Rajput #include <linux/cpumask.h> 606879033SJaswinder Singh Rajput 72f2f52baSBrian Gerst extern void setup_cpu_local_masks(void); 82f2f52baSBrian Gerst 914d3b376SPeter Zijlstra /* 1014d3b376SPeter Zijlstra * NMI and MCE exceptions need cpu_is_offline() _really_ early, 1114d3b376SPeter Zijlstra * provide an arch_ special for them to avoid instrumentation. 1214d3b376SPeter Zijlstra */ 1314d3b376SPeter Zijlstra #if NR_CPUS > 1 arch_cpu_online(int cpu)1414d3b376SPeter Zijlstrastatic __always_inline bool arch_cpu_online(int cpu) 1514d3b376SPeter Zijlstra { 1614d3b376SPeter Zijlstra return arch_test_bit(cpu, cpumask_bits(cpu_online_mask)); 1714d3b376SPeter Zijlstra } 18*f5c54f77SBorislav Petkov arch_cpumask_clear_cpu(int cpu,struct cpumask * dstp)19*f5c54f77SBorislav Petkovstatic __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp) 20*f5c54f77SBorislav Petkov { 21*f5c54f77SBorislav Petkov arch_clear_bit(cpumask_check(cpu), cpumask_bits(dstp)); 22*f5c54f77SBorislav Petkov } 2314d3b376SPeter Zijlstra #else arch_cpu_online(int cpu)2414d3b376SPeter Zijlstrastatic __always_inline bool arch_cpu_online(int cpu) 2514d3b376SPeter Zijlstra { 2614d3b376SPeter Zijlstra return cpu == 0; 2714d3b376SPeter Zijlstra } 28*f5c54f77SBorislav Petkov arch_cpumask_clear_cpu(int cpu,struct cpumask * dstp)29*f5c54f77SBorislav Petkovstatic __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp) 30*f5c54f77SBorislav Petkov { 31*f5c54f77SBorislav Petkov return; 32*f5c54f77SBorislav Petkov } 3314d3b376SPeter Zijlstra #endif 3414d3b376SPeter Zijlstra 3514d3b376SPeter Zijlstra #define arch_cpu_is_offline(cpu) unlikely(!arch_cpu_online(cpu)) 3614d3b376SPeter Zijlstra 3706879033SJaswinder Singh Rajput #endif /* __ASSEMBLY__ */ 3806879033SJaswinder Singh Rajput #endif /* _ASM_X86_CPUMASK_H */ 39