summaryrefslogtreecommitdiffstats
path: root/arch/xtensa/kernel/head.S
diff options
context:
space:
mode:
authorMax Filippov2017-12-10 03:44:11 +0100
committerMax Filippov2017-12-10 23:48:52 +0100
commit2da03d4114b2587f0e8e45f4862074e34daee64e (patch)
treebb8b7dd122fa8fc036eeaa340264e2af405629cb /arch/xtensa/kernel/head.S
parentxtensa: build kernel with text-section-literals (diff)
downloadkernel-qcow2-linux-2da03d4114b2587f0e8e45f4862074e34daee64e.tar.gz
kernel-qcow2-linux-2da03d4114b2587f0e8e45f4862074e34daee64e.tar.xz
kernel-qcow2-linux-2da03d4114b2587f0e8e45f4862074e34daee64e.zip
xtensa: use call instead of callx in assembly code
Now that xtensa assembly sources are compiled with -mlongcalls let the assembler and linker relax call instructions into l32r + callx where needed. This change makes the code cleaner and potentially a bit faster. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/kernel/head.S')
-rw-r--r--arch/xtensa/kernel/head.S10
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/xtensa/kernel/head.S b/arch/xtensa/kernel/head.S
index 23ce62e60435..9c4e9433e536 100644
--- a/arch/xtensa/kernel/head.S
+++ b/arch/xtensa/kernel/head.S
@@ -264,11 +264,8 @@ ENTRY(_startup)
/* init_arch kick-starts the linux kernel */
- movi a4, init_arch
- callx4 a4
-
- movi a4, start_kernel
- callx4 a4
+ call4 init_arch
+ call4 start_kernel
should_never_return:
j should_never_return
@@ -294,8 +291,7 @@ should_never_return:
movi a6, 0
wsr a6, excsave1
- movi a4, secondary_start_kernel
- callx4 a4
+ call4 secondary_start_kernel
j should_never_return
#endif /* CONFIG_SMP */