@@ -74,23 +74,6 @@ struct stack_frame {
7474 ((unsigned long)__builtin_frame_address(0) - \
7575 offsetof(struct stack_frame, back_chain))
7676
77- #define CALL_ARGS_0 () \
78- register unsigned long r2 asm("2")
79- #define CALL_ARGS_1 (arg1 ) \
80- register unsigned long r2 asm("2") = (unsigned long)(arg1)
81- #define CALL_ARGS_2 (arg1 , arg2 ) \
82- CALL_ARGS_1(arg1); \
83- register unsigned long r3 asm("3") = (unsigned long)(arg2)
84- #define CALL_ARGS_3 (arg1 , arg2 , arg3 ) \
85- CALL_ARGS_2(arg1, arg2); \
86- register unsigned long r4 asm("4") = (unsigned long)(arg3)
87- #define CALL_ARGS_4 (arg1 , arg2 , arg3 , arg4 ) \
88- CALL_ARGS_3(arg1, arg2, arg3); \
89- register unsigned long r4 asm("5") = (unsigned long)(arg4)
90- #define CALL_ARGS_5 (arg1 , arg2 , arg3 , arg4 , arg5 ) \
91- CALL_ARGS_4(arg1, arg2, arg3, arg4); \
92- register unsigned long r4 asm("6") = (unsigned long)(arg5)
93-
9477/*
9578 * To keep this simple mark register 2-6 as being changed (volatile)
9679 * by the called function, even though register 6 is saved/nonvolatile.
@@ -109,26 +92,6 @@ struct stack_frame {
10992#define CALL_CLOBBER_1 CALL_CLOBBER_2, "3"
11093#define CALL_CLOBBER_0 CALL_CLOBBER_1
11194
112- #define CALL_ON_STACK (fn , stack , nr , args ...) \
113- ({ \
114- unsigned long frame = current_frame_address(); \
115- CALL_ARGS_##nr(args); \
116- unsigned long prev; \
117- \
118- asm volatile( \
119- " la %[_prev],0(15)\n" \
120- " lg 15,%[_stack]\n" \
121- " stg %[_frame],%[_bc](15)\n" \
122- " brasl 14,%[_fn]\n" \
123- " la 15,0(%[_prev])\n" \
124- : [_prev] "=&a" (prev), CALL_FMT_##nr \
125- : [_stack] "R" (stack), \
126- [_bc] "i" (offsetof(struct stack_frame, back_chain)), \
127- [_frame] "d" (frame), \
128- [_fn] "X" (fn) : CALL_CLOBBER_##nr); \
129- r2; \
130- })
131-
13295#define CALL_LARGS_0 (...) \
13396 long dummy = 0
13497#define CALL_LARGS_1 (t1 , a1 ) \
0 commit comments