Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / x86 / include / asm / x2apic.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Common bits for X2APIC cluster/physical modes.
4  */
5
6 #ifndef _ASM_X86_X2APIC_H
7 #define _ASM_X86_X2APIC_H
8
9 #include <asm/apic.h>
10 #include <asm/ipi.h>
11 #include <linux/cpumask.h>
12
13 static int x2apic_apic_id_valid(int apicid)
14 {
15         return 1;
16 }
17
18 static int x2apic_apic_id_registered(void)
19 {
20         return 1;
21 }
22
23 static void
24 __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest)
25 {
26         unsigned long cfg = __prepare_ICR(0, vector, dest);
27         native_x2apic_icr_write(cfg, apicid);
28 }
29
30 static unsigned int x2apic_get_apic_id(unsigned long id)
31 {
32         return id;
33 }
34
35 static unsigned long x2apic_set_apic_id(unsigned int id)
36 {
37         return id;
38 }
39
40 static int x2apic_phys_pkg_id(int initial_apicid, int index_msb)
41 {
42         return initial_apicid >> index_msb;
43 }
44
45 static void x2apic_send_IPI_self(int vector)
46 {
47         apic_write(APIC_SELF_IPI, vector);
48 }
49
50 #endif /* _ASM_X86_X2APIC_H */