.. | .. |
---|
1 | 1 | // SPDX-License-Identifier: GPL-2.0 |
---|
2 | | -#include <linux/threads.h> |
---|
3 | | -#include <linux/cpumask.h> |
---|
4 | | -#include <linux/string.h> |
---|
5 | | -#include <linux/kernel.h> |
---|
6 | | -#include <linux/ctype.h> |
---|
7 | | -#include <linux/dmar.h> |
---|
8 | | -#include <linux/irq.h> |
---|
9 | | -#include <linux/cpu.h> |
---|
10 | 2 | |
---|
11 | | -#include <asm/smp.h> |
---|
12 | | -#include "x2apic.h" |
---|
| 3 | +#include <linux/cpuhotplug.h> |
---|
| 4 | +#include <linux/cpumask.h> |
---|
| 5 | +#include <linux/slab.h> |
---|
| 6 | +#include <linux/mm.h> |
---|
| 7 | + |
---|
| 8 | +#include <asm/apic.h> |
---|
| 9 | + |
---|
| 10 | +#include "local.h" |
---|
13 | 11 | |
---|
14 | 12 | struct cluster_mask { |
---|
15 | 13 | unsigned int clusterid; |
---|
.. | .. |
---|
52 | 50 | cpumask_copy(tmpmsk, mask); |
---|
53 | 51 | /* If IPI should not be sent to self, clear current CPU */ |
---|
54 | 52 | if (apic_dest != APIC_DEST_ALLINC) |
---|
55 | | - cpumask_clear_cpu(smp_processor_id(), tmpmsk); |
---|
| 53 | + __cpumask_clear_cpu(smp_processor_id(), tmpmsk); |
---|
56 | 54 | |
---|
57 | 55 | /* Collapse cpus in a cluster so a single IPI per cluster is sent */ |
---|
58 | 56 | for_each_cpu(cpu, tmpmsk) { |
---|
.. | .. |
---|
86 | 84 | |
---|
87 | 85 | static void x2apic_send_IPI_allbutself(int vector) |
---|
88 | 86 | { |
---|
89 | | - __x2apic_send_IPI_mask(cpu_online_mask, vector, APIC_DEST_ALLBUT); |
---|
| 87 | + __x2apic_send_IPI_shorthand(vector, APIC_DEST_ALLBUT); |
---|
90 | 88 | } |
---|
91 | 89 | |
---|
92 | 90 | static void x2apic_send_IPI_all(int vector) |
---|
93 | 91 | { |
---|
94 | | - __x2apic_send_IPI_mask(cpu_online_mask, vector, APIC_DEST_ALLINC); |
---|
| 92 | + __x2apic_send_IPI_shorthand(vector, APIC_DEST_ALLINC); |
---|
95 | 93 | } |
---|
96 | 94 | |
---|
97 | 95 | static u32 x2apic_calc_apicid(unsigned int cpu) |
---|