aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2016-12-16 05:03:18 +0100
committerRalf Baechle <ralf@linux-mips.org>2016-12-16 05:14:57 +0100
commit8ef7d46c94d54ae907217463caf30ad4de88211b (patch)
tree54f511738451fa2b2975463ff2e1fe65510b80e0
parent154ad2239df196fcf83693f88fd87eaf3370d01f (diff)
downloadlinux-2.4.tar.gz
MIPS: IP22: Fix constant loaded.linux-2.4
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Fixes: 09852585a6fb ("MIPS: IP22: Fix binutils due to binutils 2.25 uselessnes.") (cherry picked from commit e906e99fa0156af4bdaa29fa9c1c545b86041ed7)
-rw-r--r--arch/mips/mm/sc-ip22.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/mm/sc-ip22.c b/arch/mips/mm/sc-ip22.c
index 6cedf9c92618a1..4ec3bc315c8d77 100644
--- a/arch/mips/mm/sc-ip22.c
+++ b/arch/mips/mm/sc-ip22.c
@@ -46,9 +46,12 @@ static inline void indy_sc_wipe(unsigned long first, unsigned long last)
" # Required because binutils 2.25 will happily accept \n"
" # 64 bit instructions in .set mips3 mode but puke on \n"
" # 64 bit constants when generating 32 bit ELF \n"
- #
- " li $1, 0x9000 \n"
- " dsll $1, $1, 48 \n"
+ # \n"
+ " lui $1,0x9000 \n"
+ " dsll $1,$1,0x10 \n"
+ " ori $1,$1,0x8000 \n"
+ " dsll $1,$1,0x10 \n"
+ " \n"
" or %0, $1 # first line to flush \n"
" or %1, $1 # last line to flush \n"
" .set at \n"