summaryrefslogtreecommitdiffstats
path: root/include/asm-mips/stackframe.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-02-13 00:32:43 +0000
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 19:30:32 +0100
commit85b6e8184b798d06c854463cdd6c63dd1d4ff47c (patch)
tree0b8a31d1843182ea38bdaa2fe69701f21382db2f /include/asm-mips/stackframe.h
parentf4b7cdb4814e9ad1ec662bad5fccc4d37bcc6d4c (diff)
Rewrite to avoid the use of $at. Unfortunately binutils 2.15 and CVS
binutils are broken and don't warn about this use of $at even though gas is in .set noat mode so this for now is an accident waiting to happen. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/stackframe.h')
-rw-r--r--include/asm-mips/stackframe.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h
index 7b5e64600bc..e33e302c342 100644
--- a/include/asm-mips/stackframe.h
+++ b/include/asm-mips/stackframe.h
@@ -78,7 +78,12 @@
MFC0 k1, CP0_CONTEXT
dsrl k1, 23
dsll k1, k1, 3
- LONG_L k1, kernelsp(k1)
+ lui k0, %highest(kernelsp)
+ daddiu k0, %higher(kernelsp)
+ dsll k0, k0, 16
+ daddiu k0, %hi(kernelsp)
+ daddu k1, k1, k0
+ LONG_L k1, %lo(kernelsp)(k1)
#endif
.endm