aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Grall <julien.grall@linaro.org>2013-10-07 15:44:35 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-10-10 11:18:25 +0100
commitbd7a85f9a4040a117696c43985932243df70def7 (patch)
treec0f1f16324cf74fd6773689ff1f3cba483bff4f2
parentf2831c3a4ac803541eaf0a5992665c06ee852441 (diff)
downloadxen-bd7a85f9a4040a117696c43985932243df70def7.tar.gz
xen-bd7a85f9a4040a117696c43985932243df70def7.tar.bz2
xen-bd7a85f9a4040a117696c43985932243df70def7.zip
xen/arm32: Call start_xen only on the boot CPU
The boot CPU can have a CPU ID non-equal to zero. Xen needs to check the logical CPU ID (in r12) to know if the CPU is the boot one. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--xen/arch/arm/arm32/head.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 92b3c4896f..ce1d21a8e3 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -403,7 +403,8 @@ launch:
sub sp, #CPUINFO_sizeof /* Make room for CPU save record */
mov r0, r10 /* Marshal args: - phys_offset */
mov r1, r8 /* - DTB address */
- movs r2, r7 /* - CPU ID */
+ mov r2, r7 /* - CPU ID */
+ teq r12, #0
beq start_xen /* and disappear into the land of C */
b start_secondary /* (to the appropriate entry point) */