blob: d98ff654b7d777c04cffb00ff3492adcefee551a [file] [log] [blame]
Huacai Chen300459d2014-03-21 18:44:08 +08001#ifndef __LOONGSON_SMP_H_
2#define __LOONGSON_SMP_H_
3
Huacai Chene7841be2014-06-26 11:41:30 +08004/* for Loongson-3 smp support */
5extern unsigned long long smp_group[4];
Huacai Chen300459d2014-03-21 18:44:08 +08006
7/* 4 groups(nodes) in maximum in numa case */
Huacai Chene7841be2014-06-26 11:41:30 +08008#define SMP_CORE_GROUP0_BASE (smp_group[0])
9#define SMP_CORE_GROUP1_BASE (smp_group[1])
10#define SMP_CORE_GROUP2_BASE (smp_group[2])
11#define SMP_CORE_GROUP3_BASE (smp_group[3])
Huacai Chen300459d2014-03-21 18:44:08 +080012
13/* 4 cores in each group(node) */
Huacai Chene7841be2014-06-26 11:41:30 +080014#define SMP_CORE0_OFFSET 0x000
15#define SMP_CORE1_OFFSET 0x100
16#define SMP_CORE2_OFFSET 0x200
17#define SMP_CORE3_OFFSET 0x300
Huacai Chen300459d2014-03-21 18:44:08 +080018
19/* ipi registers offsets */
Huacai Chene7841be2014-06-26 11:41:30 +080020#define STATUS0 0x00
21#define EN0 0x04
22#define SET0 0x08
23#define CLEAR0 0x0c
24#define STATUS1 0x10
25#define MASK1 0x14
26#define SET1 0x18
27#define CLEAR1 0x1c
28#define BUF 0x20
Huacai Chen300459d2014-03-21 18:44:08 +080029
30#endif