ARM: 8302/1: Add a secondary_startup that assumes ARM mode
Some platforms always enter the kernel in ARM mode even if the kernel is compiled for THUMB2. Add a small wrapper on top of secondary_startup() that switches into THUMB2 mode. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
ada63d4074
Коммит
bafe586583
|
@ -346,6 +346,12 @@ __turn_mmu_on_loc:
|
||||||
|
|
||||||
#if defined(CONFIG_SMP)
|
#if defined(CONFIG_SMP)
|
||||||
.text
|
.text
|
||||||
|
ENTRY(secondary_startup_arm)
|
||||||
|
.arm
|
||||||
|
THUMB( adr r9, BSYM(1f) ) @ Kernel is entered in ARM.
|
||||||
|
THUMB( bx r9 ) @ If this is a Thumb-2 kernel,
|
||||||
|
THUMB( .thumb ) @ switch to Thumb now.
|
||||||
|
THUMB(1: )
|
||||||
ENTRY(secondary_startup)
|
ENTRY(secondary_startup)
|
||||||
/*
|
/*
|
||||||
* Common entry point for secondary CPUs.
|
* Common entry point for secondary CPUs.
|
||||||
|
@ -385,6 +391,7 @@ ENTRY(secondary_startup)
|
||||||
THUMB( add r12, r10, #PROCINFO_INITFUNC )
|
THUMB( add r12, r10, #PROCINFO_INITFUNC )
|
||||||
THUMB( ret r12 )
|
THUMB( ret r12 )
|
||||||
ENDPROC(secondary_startup)
|
ENDPROC(secondary_startup)
|
||||||
|
ENDPROC(secondary_startup_arm)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* r6 = &secondary_data
|
* r6 = &secondary_data
|
||||||
|
|
Загрузка…
Ссылка в новой задаче