summaryrefslogtreecommitdiff
path: root/arch/powerpc/include/asm/ppc_asm.h
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2014-02-04 16:09:02 +1100
committerAnton Blanchard <anton@samba.org>2014-04-23 10:05:23 +1000
commitb37c10d128a2fa3256d4e67c184177270eac4b86 (patch)
treea71357c1497ca0223ff05b7af59ec8e2c4b9c3e0 /arch/powerpc/include/asm/ppc_asm.h
parent7cedd6014bfe353d4b552ed8d54d63f6e06e26ba (diff)
powerpc: Fix ABIv2 issues with stack offsets in assembly code
Fix STK_PARAM and use it instead of hardcoding ABIv1 offsets. Signed-off-by: Anton Blanchard <anton@samba.org>
Diffstat (limited to 'arch/powerpc/include/asm/ppc_asm.h')
-rw-r--r--arch/powerpc/include/asm/ppc_asm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
index 5394d41a7140..3185d11b6691 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -189,7 +189,11 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_SPLPAR)
#define __STK_REG(i) (112 + ((i)-14)*8)
#define STK_REG(i) __STK_REG(__REG_##i)
+#if defined(_CALL_ELF) && _CALL_ELF == 2
+#define __STK_PARAM(i) (32 + ((i)-3)*8)
+#else
#define __STK_PARAM(i) (48 + ((i)-3)*8)
+#endif
#define STK_PARAM(i) __STK_PARAM(__REG_##i)
#if defined(_CALL_ELF) && _CALL_ELF == 2