aboutsummaryrefslogtreecommitdiffstats
path: root/xen
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 12:25:56 +0100
commit8e08085f0fbd35386eeecbec036114ce80406e90 (patch)
treec0f1f16324cf74fd6773689ff1f3cba483bff4f2 /xen
parentf2831c3a4ac803541eaf0a5992665c06ee852441 (diff)
downloadxen-8e08085f0fbd35386eeecbec036114ce80406e90.tar.gz
xen-8e08085f0fbd35386eeecbec036114ce80406e90.tar.bz2
xen-8e08085f0fbd35386eeecbec036114ce80406e90.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>
Diffstat (limited to 'xen')
-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) */