Skip to contentSkip to conversation

xtensa: fix coprocessor_load and coprocessor_restore

PATCH New Max Filippov 1 participant 1 message Nov 26, 2018

Subsystems (2)
lore
Share & tools
lore

Max Filippov

author maintainer
#0 lore raw

PATCH 1/1 xtensa: fix coprocessor_load and coprocessor_restore

coprocessor_load and coprocessor_restore incorrectly use factor 4 to load address of the state loading code from the table where factor 8 must be used.
This results in crash or incorrect coprocessor data when used with coprocessors 1..7.

---
 arch/xtensa/kernel/coprocessor.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/xtensa/kernel/coprocessor.S +2 -2
index 4f8b52d575a2..93ee66322f07 100644
@@ -137,7 +137,7 @@ ENTRY(coprocessor_load)
 	entry	a1, 32
 	s32i	a0, a1, 0
 	movi	a0, .Lload_cp_regs_jump_table
-	addx4	a3, a3, a0
+	addx8	a3, a3, a0
 	l32i	a3, a3, 0
 	beqz	a3, 1f
 	add	a0, a0, a3
@@ -183,7 +183,7 @@ ENTRY(coprocessor_restore)
 	entry	a1, 32
 	s32i	a0, a1, 0
 	movi	a0, .Lload_cp_regs_jump_table
-	addx4	a3, a3, a0
+	addx8	a3, a3, a0
 	l32i	a4, a3, 4
 	l32i	a3, a3, 0
 	add	a2, a2, a4
Signature · 1 line
2.11.0