Index: kernel/arch/ppc32/include/context_offset.h
===================================================================
--- kernel/arch/ppc32/include/context_offset.h	(revision ecc83bd0334d30797a8edd14655e004d78338a4c)
+++ kernel/arch/ppc32/include/context_offset.h	(revision 4797132b9bf4f45c3d78d771e6e44d9c33778cec)
@@ -77,5 +77,4 @@
 # include <arch/asm/regname.h>
 
-
 # ctx: address of the structure with saved context
 .macro CONTEXT_SAVE_ARCH_CORE ctx:req
Index: kernel/arch/ppc64/include/context_offset.h
===================================================================
--- kernel/arch/ppc64/include/context_offset.h	(revision ecc83bd0334d30797a8edd14655e004d78338a4c)
+++ kernel/arch/ppc64/include/context_offset.h	(revision 4797132b9bf4f45c3d78d771e6e44d9c33778cec)
@@ -74,3 +74,59 @@
 #define OFFSET_FPSCR 0x90
 
+
+#ifdef __ASM__
+# include <arch/asm/regname.h>
+
+# ctx: address of the structure with saved context
+.macro CONTEXT_SAVE_ARCH_CORE ctx:req
+	stw sp, OFFSET_SP(\ctx)
+	stw r2, OFFSET_R2(\ctx)
+	stw r13, OFFSET_R13(\ctx)
+	stw r14, OFFSET_R14(\ctx)
+	stw r15, OFFSET_R15(\ctx)
+	stw r16, OFFSET_R16(\ctx)
+	stw r17, OFFSET_R17(\ctx)
+	stw r18, OFFSET_R18(\ctx)
+	stw r19, OFFSET_R19(\ctx)
+	stw r20, OFFSET_R20(\ctx)
+	stw r21, OFFSET_R21(\ctx)
+	stw r22, OFFSET_R22(\ctx)
+	stw r23, OFFSET_R23(\ctx)
+	stw r24, OFFSET_R24(\ctx)
+	stw r25, OFFSET_R25(\ctx)
+	stw r26, OFFSET_R26(\ctx)
+	stw r27, OFFSET_R27(\ctx)
+	stw r28, OFFSET_R28(\ctx)
+	stw r29, OFFSET_R29(\ctx)
+	stw r30, OFFSET_R30(\ctx)
+	stw r31, OFFSET_R31(\ctx)
+.endm
+
+# ctx: address of the structure with saved context
+.macro CONTEXT_RESTORE_ARCH_CORE ctx:req
+	lwz sp, OFFSET_SP(\ctx)
+	lwz r2, OFFSET_R2(\ctx)
+	lwz r13, OFFSET_R13(\ctx)
+	lwz r14, OFFSET_R14(\ctx)
+	lwz r15, OFFSET_R15(\ctx)
+	lwz r16, OFFSET_R16(\ctx)
+	lwz r17, OFFSET_R17(\ctx)
+	lwz r18, OFFSET_R18(\ctx)
+	lwz r19, OFFSET_R19(\ctx)
+	lwz r20, OFFSET_R20(\ctx)
+	lwz r21, OFFSET_R21(\ctx)
+	lwz r22, OFFSET_R22(\ctx)
+	lwz r23, OFFSET_R23(\ctx)
+	lwz r24, OFFSET_R24(\ctx)
+	lwz r25, OFFSET_R25(\ctx)
+	lwz r26, OFFSET_R26(\ctx)
+	lwz r27, OFFSET_R27(\ctx)
+	lwz r28, OFFSET_R28(\ctx)
+	lwz r29, OFFSET_R29(\ctx)
+	lwz r30, OFFSET_R30(\ctx)
+	lwz r31, OFFSET_R31(\ctx)
+.endm
+
+#endif /* __ASM__ */
+
 #endif
Index: kernel/arch/ppc64/src/context.S
===================================================================
--- kernel/arch/ppc64/src/context.S	(revision ecc83bd0334d30797a8edd14655e004d78338a4c)
+++ kernel/arch/ppc64/src/context.S	(revision 4797132b9bf4f45c3d78d771e6e44d9c33778cec)
@@ -35,54 +35,6 @@
 .global context_restore_arch
 
-.macro CONTEXT_STORE r
-	stw sp, OFFSET_SP(\r)
-	stw r2, OFFSET_R2(\r)
-	stw r13, OFFSET_R13(\r)
-	stw r14, OFFSET_R14(\r)
-	stw r15, OFFSET_R15(\r)
-	stw r16, OFFSET_R16(\r)
-	stw r17, OFFSET_R17(\r)
-	stw r18, OFFSET_R18(\r)
-	stw r19, OFFSET_R19(\r)
-	stw r20, OFFSET_R20(\r)
-	stw r21, OFFSET_R21(\r)
-	stw r22, OFFSET_R22(\r)
-	stw r23, OFFSET_R23(\r)
-	stw r24, OFFSET_R24(\r)
-	stw r25, OFFSET_R25(\r)
-	stw r26, OFFSET_R26(\r)
-	stw r27, OFFSET_R27(\r)
-	stw r28, OFFSET_R28(\r)
-	stw r29, OFFSET_R29(\r)
-	stw r30, OFFSET_R30(\r)
-	stw r31, OFFSET_R31(\r)
-.endm
-
-.macro CONTEXT_LOAD r
-	lwz sp, OFFSET_SP(\r)
-	lwz r2, OFFSET_R2(\r)
-	lwz r13, OFFSET_R13(\r)
-	lwz r14, OFFSET_R14(\r)
-	lwz r15, OFFSET_R15(\r)
-	lwz r16, OFFSET_R16(\r)
-	lwz r17, OFFSET_R17(\r)
-	lwz r18, OFFSET_R18(\r)
-	lwz r19, OFFSET_R19(\r)
-	lwz r20, OFFSET_R20(\r)
-	lwz r21, OFFSET_R21(\r)
-	lwz r22, OFFSET_R22(\r)
-	lwz r23, OFFSET_R23(\r)
-	lwz r24, OFFSET_R24(\r)
-	lwz r25, OFFSET_R25(\r)
-	lwz r26, OFFSET_R26(\r)
-	lwz r27, OFFSET_R27(\r)
-	lwz r28, OFFSET_R28(\r)
-	lwz r29, OFFSET_R29(\r)
-	lwz r30, OFFSET_R30(\r)
-	lwz r31, OFFSET_R31(\r)
-.endm
-
 context_save_arch:
-	CONTEXT_STORE r3
+	CONTEXT_SAVE_ARCH_CORE r3
 	
 	mflr r4
@@ -97,5 +49,5 @@
 	
 context_restore_arch:
-	CONTEXT_LOAD r3
+	CONTEXT_RESTORE_ARCH_CORE r3
 	
 	lwz r4, OFFSET_CR(r3)
