ARM: Factor out common psci_get_cpu_id
[oweals/u-boot.git] / arch / arm / cpu / armv7 / psci.S
index bf11a34e54f667fad33e5201033f44dda7e26507..12ad09b96cadda95c56bf0769f92ead0cdeed83e 100644 (file)
@@ -99,4 +99,12 @@ _smc_psci:
        pop     {r4-r7, lr}
        movs    pc, lr                  @ Return to the kernel
 
+@ Requires dense and single-cluster CPU ID space
+ENTRY(psci_get_cpu_id)
+       mrc     p15, 0, r0, c0, c0, 5   /* read MPIDR */
+       and     r0, r0, #0xff           /* return CPU ID in cluster */
+       bx      lr
+ENDPROC(psci_get_cpu_id)
+.weak psci_get_cpu_id
+
        .popsection