armv8: Add read_mpidr() function
authorSergey Temerkhanov <s.temerkhanov@gmail.com>
Wed, 14 Oct 2015 16:55:44 +0000 (09:55 -0700)
committerTom Rini <trini@konsulko.com>
Tue, 19 Jan 2016 22:25:35 +0000 (22:25 +0000)
This patch adds the read_mpidr() function which returns the
MPIDR_EL1 register value

Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/arm/include/asm/system.h

index 71b31085b41f192251b6330cdc16dc45cfa57fc7..5d66fa00b6b4a7c359c2a984ff5ad1ae55e3abf4 100644 (file)
@@ -72,6 +72,17 @@ static inline void set_sctlr(unsigned int val)
        asm volatile("isb");
 }
 
+static inline unsigned long read_mpidr(void)
+{
+       unsigned long val;
+
+       asm volatile("mrs %0, mpidr_el1" : "=r" (val));
+
+       return val;
+}
+
+#define BSP_COREID     0
+
 void __asm_flush_dcache_all(void);
 void __asm_invalidate_dcache_all(void);
 void __asm_flush_dcache_range(u64 start, u64 end);