aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/arch/arm/arm32/head.S2
-rw-r--r--xen/include/asm-arm/processor.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index b8334e2d74..79e95b673c 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -98,7 +98,7 @@ past_zImage:
beq boot_cpu
tst r0, #(1<<30) /* Uniprocessor system? */
bne boot_cpu
- bics r12, r0, #(0xff << 24) /* Mask out flags to get CPU ID */
+ bics r12, r0, #(~MPIDR_HWID_MASK) /* Mask out flags to get CPU ID */
beq boot_cpu /* If we're CPU 0, boot now */
/* Non-boot CPUs wait here to be woken up one at a time. */
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 1a4f8d17da..808567e5df 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -12,6 +12,7 @@
#define MPIDR_SMP (1 << 31)
#define MPIDR_AFF0_SHIFT (0)
#define MPIDR_AFF0_MASK (0xff << MPIDR_AFF0_SHIFT)
+#define MPIDR_HWID_MASK 0xffffff
/* TTBCR Translation Table Base Control Register */
#define TTBCR_EAE 0x80000000