ARC: add macro to get CPU id
authorEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Tue, 28 Nov 2017 13:48:40 +0000 (16:48 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Mon, 11 Dec 2017 08:36:22 +0000 (11:36 +0300)
ARCNUM [15:8] field in ARC_AUX_IDENTITY register allows us to
uniquely identify each core in a multi-core system.

I.e. with help of this macro each core may get its index in SMP system.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
arch/arc/include/asm/arcregs.h

index 54a9b00d4c24cb3c0bc83d2a62631b8ad54ed28e..2a1bfc74ec5719fc6504096bb42b84a1df2403ba 100644 (file)
@@ -72,6 +72,9 @@
 /* gcc builtin sr needs reg param to be long immediate */
 #define write_aux_reg(reg_immed, val)          \
                __builtin_arc_sr((unsigned int)val, reg_immed)
+
+/* ARCNUM [15:8] - field to identify each core in a multi-core system */
+#define CPU_ID_GET()   ((read_aux_reg(ARC_AUX_IDENTITY) & 0xFF00) >> 8)
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_ARC_ARCREGS_H */