summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/misc_32.S6
-rw-r--r--include/asm-powerpc/ppc_asm.h4
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index fa8c20f..2727410 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -43,8 +43,7 @@ _GLOBAL(reloc_offset)
mflr r0
bl 1f
1: mflr r3
- lis r4,1b@ha
- addi r4,r4,1b@l
+ LOADADDR(r4,1b)
subf r3,r4,r3
mtlr r0
blr
@@ -56,8 +55,7 @@ _GLOBAL(add_reloc_offset)
mflr r0
bl 1f
1: mflr r5
- lis r4,1b@ha
- addi r4,r4,1b@l
+ LOADADDR(r4,1b)
subf r5,r4,r5
add r3,r3,r5
mtlr r0
diff --git a/include/asm-powerpc/ppc_asm.h b/include/asm-powerpc/ppc_asm.h
index e4350e4..6aae414 100644
--- a/include/asm-powerpc/ppc_asm.h
+++ b/include/asm-powerpc/ppc_asm.h
@@ -193,6 +193,10 @@ n:
#define CMPI cmpdi
#else /* 32-bit */
+#define LOADADDR(rn,name) \
+ lis rn,name@ha \
+ addi rn,rn,name@l
+
#define LOADBASE(rn,name) \
lis rn,name@ha