From 7aa2190808d2daf520afb9ba90f7713d56a3df42 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Fri, 8 Jul 2005 08:03:48 +0000 Subject: [PATCH] --- yaml --- r: 11136 b: refs/heads/master c: 9556ac2fa1b16ec702e200fc558636a09a50f0e0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/asm-mips/stackframe.h | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 165fd94ee33b..012b15998f64 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4552074577c639da32dd58a617ea11ac3e28912b +refs/heads/master: 9556ac2fa1b16ec702e200fc558636a09a50f0e0 diff --git a/trunk/include/asm-mips/stackframe.h b/trunk/include/asm-mips/stackframe.h index de303e96260e..a8919dcc93c8 100644 --- a/trunk/include/asm-mips/stackframe.h +++ b/trunk/include/asm-mips/stackframe.h @@ -90,24 +90,28 @@ #ifdef CONFIG_32BIT mfc0 \temp, CP0_CONTEXT srl \temp, 23 - LONG_S \stackp, kernelsp(\temp) #endif #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) lw \temp, TI_CPU(gp) dsll \temp, 3 - lui \temp2, %hi(kernelsp) - daddu \temp, \temp2 - LONG_S \stackp, %lo(kernelsp)(\temp) #endif #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) MFC0 \temp, CP0_CONTEXT dsrl \temp, 23 - LONG_S \stackp, kernelsp(\temp) #endif + LONG_S \stackp, kernelsp(\temp) .endm #else .macro get_saved_sp /* Uniprocessor variation */ +#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) + lui k1, %highest(kernelsp) + daddiu k1, %higher(kernelsp) + dsll k1, k1, 16 + daddiu k1, %hi(kernelsp) + dsll k1, k1, 16 +#else lui k1, %hi(kernelsp) +#endif LONG_L k1, %lo(kernelsp)(k1) .endm