mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
f0eab3889e
Convert the low level SMP assembly code for SH-Mobile ARM from using the INIT to the CPUINIT section. This unbreaks onlining of CPUs using the CPU hotplug interface: echo 1 > /sys/devices/system/cpu/cpu1/online Without this fix the reset vector code used by CPU hotplug will be freed as init section data and CPU cores cannot be brought online. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
28 lines
746 B
ArmAsm
28 lines
746 B
ArmAsm
/*
|
|
* SMP support for R-Mobile / SH-Mobile
|
|
*
|
|
* Copyright (C) 2010 Magnus Damm
|
|
* Copyright (C) 2010 Takashi Yoshii
|
|
*
|
|
* Based on vexpress, Copyright (c) 2003 ARM Limited, All Rights Reserved
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
#include <linux/linkage.h>
|
|
#include <linux/init.h>
|
|
#include <asm/memory.h>
|
|
|
|
__CPUINIT
|
|
|
|
/*
|
|
* Reset vector for secondary CPUs.
|
|
* This will be mapped at address 0 by SBAR register.
|
|
* We need _long_ jump to the physical address.
|
|
*/
|
|
.align 12
|
|
ENTRY(shmobile_secondary_vector)
|
|
ldr pc, 1f
|
|
1: .long secondary_startup - PAGE_OFFSET + PLAT_PHYS_OFFSET
|