MIPS: Replace add and sub instructions in relocate_kernel.S with addiu
Fixes the assembler errors generated when compiling a MIPS R6 kernel with CONFIG_KEXEC on, by replacing the offending add and sub instructions with addiu instructions. Build errors: arch/mips/kernel/relocate_kernel.S: Assembler messages: arch/mips/kernel/relocate_kernel.S:27: Error: invalid operands `dadd $16,$16,8' arch/mips/kernel/relocate_kernel.S:64: Error: invalid operands `dadd $20,$20,8' arch/mips/kernel/relocate_kernel.S:65: Error: invalid operands `dadd $18,$18,8' arch/mips/kernel/relocate_kernel.S:66: Error: invalid operands `dsub $22,$22,1' scripts/Makefile.build:294: recipe for target 'arch/mips/kernel/relocate_kernel.o' failed Signed-off-by: James Cowgill <James.Cowgill@imgtec.com> Cc: <stable@vger.kernel.org> # 4.0+ Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10558/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
3aff47c062
commit
a4504755e7
|
@ -24,7 +24,7 @@ LEAF(relocate_new_kernel)
|
||||||
|
|
||||||
process_entry:
|
process_entry:
|
||||||
PTR_L s2, (s0)
|
PTR_L s2, (s0)
|
||||||
PTR_ADD s0, s0, SZREG
|
PTR_ADDIU s0, s0, SZREG
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In case of a kdump/crash kernel, the indirection page is not
|
* In case of a kdump/crash kernel, the indirection page is not
|
||||||
|
@ -61,9 +61,9 @@ copy_word:
|
||||||
/* copy page word by word */
|
/* copy page word by word */
|
||||||
REG_L s5, (s2)
|
REG_L s5, (s2)
|
||||||
REG_S s5, (s4)
|
REG_S s5, (s4)
|
||||||
PTR_ADD s4, s4, SZREG
|
PTR_ADDIU s4, s4, SZREG
|
||||||
PTR_ADD s2, s2, SZREG
|
PTR_ADDIU s2, s2, SZREG
|
||||||
LONG_SUB s6, s6, 1
|
LONG_ADDIU s6, s6, -1
|
||||||
beq s6, zero, process_entry
|
beq s6, zero, process_entry
|
||||||
b copy_word
|
b copy_word
|
||||||
b process_entry
|
b process_entry
|
||||||
|
|
Loading…
Reference in New Issue