diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2018-05-10 13:00:43 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2018-05-31 10:39:29 +0100 |
commit | 26602161b5ba795928a5a719fe1d5d9f2ab5c3ef (patch) | |
tree | 205fe9aec9e513f0a7abb0451d35245c02f1a22a /arch/arm/kernel/smp.c | |
parent | a5b9177f69329314721aa7022b7e69dab23fa1f0 (diff) | |
download | op-kernel-dev-26602161b5ba795928a5a719fe1d5d9f2ab5c3ef.zip op-kernel-dev-26602161b5ba795928a5a719fe1d5d9f2ab5c3ef.tar.gz |
ARM: bugs: hook processor bug checking into SMP and suspend paths
Check for CPU bugs when secondary processors are being brought online,
and also when CPUs are resuming from a low power mode. This gives an
opportunity to check that processor specific bug workarounds are
correctly enabled for all paths that a CPU re-enters the kernel.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Boot-tested-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r-- | arch/arm/kernel/smp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 2da0879..5ad0b67 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -31,6 +31,7 @@ #include <linux/irq_work.h> #include <linux/atomic.h> +#include <asm/bugs.h> #include <asm/smp.h> #include <asm/cacheflush.h> #include <asm/cpu.h> @@ -405,6 +406,9 @@ asmlinkage void secondary_start_kernel(void) * before we continue - which happens after __cpu_up returns. */ set_cpu_online(cpu, true); + + check_other_bugs(); + complete(&cpu_running); local_irq_enable(); |