2014-03-21 18:44:08 +08:00
|
|
|
#ifndef __LOONGSON_SMP_H_
|
|
|
|
#define __LOONGSON_SMP_H_
|
|
|
|
|
2014-06-26 11:41:30 +08:00
|
|
|
/* for Loongson-3 smp support */
|
|
|
|
extern unsigned long long smp_group[4];
|
2014-03-21 18:44:08 +08:00
|
|
|
|
|
|
|
/* 4 groups(nodes) in maximum in numa case */
|
2014-06-26 11:41:30 +08:00
|
|
|
#define SMP_CORE_GROUP0_BASE (smp_group[0])
|
|
|
|
#define SMP_CORE_GROUP1_BASE (smp_group[1])
|
|
|
|
#define SMP_CORE_GROUP2_BASE (smp_group[2])
|
|
|
|
#define SMP_CORE_GROUP3_BASE (smp_group[3])
|
2014-03-21 18:44:08 +08:00
|
|
|
|
|
|
|
/* 4 cores in each group(node) */
|
2014-06-26 11:41:30 +08:00
|
|
|
#define SMP_CORE0_OFFSET 0x000
|
|
|
|
#define SMP_CORE1_OFFSET 0x100
|
|
|
|
#define SMP_CORE2_OFFSET 0x200
|
|
|
|
#define SMP_CORE3_OFFSET 0x300
|
2014-03-21 18:44:08 +08:00
|
|
|
|
|
|
|
/* ipi registers offsets */
|
2014-06-26 11:41:30 +08:00
|
|
|
#define STATUS0 0x00
|
|
|
|
#define EN0 0x04
|
|
|
|
#define SET0 0x08
|
|
|
|
#define CLEAR0 0x0c
|
|
|
|
#define STATUS1 0x10
|
|
|
|
#define MASK1 0x14
|
|
|
|
#define SET1 0x18
|
|
|
|
#define CLEAR1 0x1c
|
|
|
|
#define BUF 0x20
|
2014-03-21 18:44:08 +08:00
|
|
|
|
|
|
|
#endif
|