xref: /openbmc/linux/arch/mips/loongson64/smp.h (revision fbb6b31a)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __LOONGSON_SMP_H_
3 #define __LOONGSON_SMP_H_
4 
5 /* for Loongson-3 smp support */
6 extern unsigned long long smp_group[4];
7 
8 /* 4 groups(nodes) in maximum in numa case */
9 #define SMP_CORE_GROUP0_BASE	(smp_group[0])
10 #define SMP_CORE_GROUP1_BASE	(smp_group[1])
11 #define SMP_CORE_GROUP2_BASE	(smp_group[2])
12 #define SMP_CORE_GROUP3_BASE	(smp_group[3])
13 
14 /* 4 cores in each group(node) */
15 #define SMP_CORE0_OFFSET  0x000
16 #define SMP_CORE1_OFFSET  0x100
17 #define SMP_CORE2_OFFSET  0x200
18 #define SMP_CORE3_OFFSET  0x300
19 
20 /* ipi registers offsets */
21 #define STATUS0  0x00
22 #define EN0      0x04
23 #define SET0     0x08
24 #define CLEAR0   0x0c
25 #define STATUS1  0x10
26 #define MASK1    0x14
27 #define SET1     0x18
28 #define CLEAR1   0x1c
29 #define BUF      0x20
30 
31 #endif
32