[PATCH 07/16] ARM: bL_platsmp.c: close the kernel entry gate before hot-unplugging a CPU
Nicolas Pitre
nicolas.pitre at linaro.org
Wed Jan 9 19:20:42 EST 2013
If for whatever reason a CPU is unexpectedly awaken, it shouldn't
re-enter the kernel by using whatever entry vector that might have
been set by a previous operation.
Signed-off-by: Nicolas Pitre <nico at linaro.org>
---
arch/arm/common/bL_platsmp.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/common/bL_platsmp.c b/arch/arm/common/bL_platsmp.c
index 0acb9f4685..0ae44123bf 100644
--- a/arch/arm/common/bL_platsmp.c
+++ b/arch/arm/common/bL_platsmp.c
@@ -63,6 +63,11 @@ static int bL_cpu_disable(unsigned int cpu)
static void __ref bL_cpu_die(unsigned int cpu)
{
+ unsigned int mpidr, pcpu, pcluster;
+ asm ("mrc p15, 0, %0, c0, c0, 5" : "=r" (mpidr));
+ pcpu = mpidr & 0xff;
+ pcluster = (mpidr >> 8) & 0xff;
+ bL_set_entry_vector(pcpu, pcluster, NULL);
bL_cpu_power_down();
}
--
1.8.0
More information about the linux-arm-kernel
mailing list