aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/kernel/head.S
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2018-12-05 12:48:19 -0800
committerMax Filippov <jcmvbkbc@gmail.com>2018-12-05 12:53:07 -0800
commit037602705109ec2ab96340bea93ad87daa3ac046 (patch)
tree616c10e2e60b8a6bfbe388366ea1c1c3f170dafb /arch/xtensa/kernel/head.S
parentxtensa: xtfpga.dtsi: fix dtc warnings about SPI (diff)
downloadlinux-dev-037602705109ec2ab96340bea93ad87daa3ac046.tar.xz
linux-dev-037602705109ec2ab96340bea93ad87daa3ac046.zip
xtensa: don't use l32r opcode directly
xtensa assembler is capable of representing register loads with either movi + addmi, l32r or const16, depending on the core configuration. Don't use '.literal' and 'l32r' directly in the code, use 'movi' and let the assembler relax them. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/kernel/head.S')
-rw-r--r--arch/xtensa/kernel/head.S8
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/xtensa/kernel/head.S b/arch/xtensa/kernel/head.S
index 9053a5622d2c..da08e75100ab 100644
--- a/arch/xtensa/kernel/head.S
+++ b/arch/xtensa/kernel/head.S
@@ -59,10 +59,6 @@ ENTRY(_start)
.align 4
.literal_position
-.Lstartup:
- .word _startup
-
- .align 4
_SetupOCD:
/*
* Initialize WB, WS, and clear PS.EXCM (to allow loop instructions).
@@ -99,12 +95,12 @@ _SetupMMU:
1:
#endif
#endif
- .end no-absolute-literals
- l32r a0, .Lstartup
+ movi a0, _startup
jx a0
ENDPROC(_start)
+ .end no-absolute-literals
__REF
.literal_position