|
|
@@ -199,31 +199,31 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, unsigned long a1,
|
|
|
|
|
|
#define __declare_arg_0(a0, res) \
|
|
|
struct arm_smccc_res *___res = res; \
|
|
|
- register u32 r0 asm("r0") = a0; \
|
|
|
+ register unsigned long r0 asm("r0") = (u32)a0; \
|
|
|
register unsigned long r1 asm("r1"); \
|
|
|
register unsigned long r2 asm("r2"); \
|
|
|
register unsigned long r3 asm("r3")
|
|
|
|
|
|
#define __declare_arg_1(a0, a1, res) \
|
|
|
struct arm_smccc_res *___res = res; \
|
|
|
- register u32 r0 asm("r0") = a0; \
|
|
|
- register typeof(a1) r1 asm("r1") = a1; \
|
|
|
+ register unsigned long r0 asm("r0") = (u32)a0; \
|
|
|
+ register unsigned long r1 asm("r1") = a1; \
|
|
|
register unsigned long r2 asm("r2"); \
|
|
|
register unsigned long r3 asm("r3")
|
|
|
|
|
|
#define __declare_arg_2(a0, a1, a2, res) \
|
|
|
struct arm_smccc_res *___res = res; \
|
|
|
- register u32 r0 asm("r0") = a0; \
|
|
|
- register typeof(a1) r1 asm("r1") = a1; \
|
|
|
- register typeof(a2) r2 asm("r2") = a2; \
|
|
|
+ register unsigned long r0 asm("r0") = (u32)a0; \
|
|
|
+ register unsigned long r1 asm("r1") = a1; \
|
|
|
+ register unsigned long r2 asm("r2") = a2; \
|
|
|
register unsigned long r3 asm("r3")
|
|
|
|
|
|
#define __declare_arg_3(a0, a1, a2, a3, res) \
|
|
|
struct arm_smccc_res *___res = res; \
|
|
|
- register u32 r0 asm("r0") = a0; \
|
|
|
- register typeof(a1) r1 asm("r1") = a1; \
|
|
|
- register typeof(a2) r2 asm("r2") = a2; \
|
|
|
- register typeof(a3) r3 asm("r3") = a3
|
|
|
+ register unsigned long r0 asm("r0") = (u32)a0; \
|
|
|
+ register unsigned long r1 asm("r1") = a1; \
|
|
|
+ register unsigned long r2 asm("r2") = a2; \
|
|
|
+ register unsigned long r3 asm("r3") = a3
|
|
|
|
|
|
#define __declare_arg_4(a0, a1, a2, a3, a4, res) \
|
|
|
__declare_arg_3(a0, a1, a2, a3, res); \
|