aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/paravirt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/paravirt.c')
-rw-r--r--arch/ia64/kernel/paravirt.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/arch/ia64/kernel/paravirt.c b/arch/ia64/kernel/paravirt.c
index 158d52414e96..a21d7bb9c69c 100644
--- a/arch/ia64/kernel/paravirt.c
+++ b/arch/ia64/kernel/paravirt.c
@@ -70,7 +70,14 @@ struct pv_init_ops pv_init_ops =
70 ia64_native_ ## name ## _func(unsigned long arg) \ 70 ia64_native_ ## name ## _func(unsigned long arg) \
71 { \ 71 { \
72 ia64_native_ ## name(arg); \ 72 ia64_native_ ## name(arg); \
73 } \ 73 }
74
75#define DEFINE_VOID_FUNC1_VOID(name) \
76 static void \
77 ia64_native_ ## name ## _func(void *arg) \
78 { \
79 ia64_native_ ## name(arg); \
80 }
74 81
75#define DEFINE_VOID_FUNC2(name) \ 82#define DEFINE_VOID_FUNC2(name) \
76 static void \ 83 static void \
@@ -78,7 +85,7 @@ struct pv_init_ops pv_init_ops =
78 unsigned long arg1) \ 85 unsigned long arg1) \
79 { \ 86 { \
80 ia64_native_ ## name(arg0, arg1); \ 87 ia64_native_ ## name(arg0, arg1); \
81 } \ 88 }
82 89
83#define DEFINE_FUNC0(name) \ 90#define DEFINE_FUNC0(name) \
84 static unsigned long \ 91 static unsigned long \
@@ -94,7 +101,7 @@ struct pv_init_ops pv_init_ops =
94 return ia64_native_ ## name(arg); \ 101 return ia64_native_ ## name(arg); \
95 } \ 102 } \
96 103
97DEFINE_VOID_FUNC1(fc); 104DEFINE_VOID_FUNC1_VOID(fc);
98DEFINE_VOID_FUNC1(intrin_local_irq_restore); 105DEFINE_VOID_FUNC1(intrin_local_irq_restore);
99 106
100DEFINE_VOID_FUNC2(ptcga); 107DEFINE_VOID_FUNC2(ptcga);
@@ -308,6 +315,11 @@ ia64_native_setreg_func(int regnum, unsigned long val)
308 ia64_native_ ## name ## _func(unsigned long arg); \ 315 ia64_native_ ## name ## _func(unsigned long arg); \
309 __DEFINE_FUNC(name, code) 316 __DEFINE_FUNC(name, code)
310 317
318#define DEFINE_VOID_FUNC1_VOID(name, code) \
319 extern void \
320 ia64_native_ ## name ## _func(void *arg); \
321 __DEFINE_FUNC(name, code)
322
311#define DEFINE_VOID_FUNC2(name, code) \ 323#define DEFINE_VOID_FUNC2(name, code) \
312 extern void \ 324 extern void \
313 ia64_native_ ## name ## _func(unsigned long arg0, \ 325 ia64_native_ ## name ## _func(unsigned long arg0, \
@@ -324,8 +336,8 @@ ia64_native_setreg_func(int regnum, unsigned long val)
324 ia64_native_ ## name ## _func(type arg); \ 336 ia64_native_ ## name ## _func(type arg); \
325 __DEFINE_FUNC(name, code) 337 __DEFINE_FUNC(name, code)
326 338
327DEFINE_VOID_FUNC1(fc, 339DEFINE_VOID_FUNC1_VOID(fc,
328 "fc r8\n"); 340 "fc r8\n");
329DEFINE_VOID_FUNC1(intrin_local_irq_restore, 341DEFINE_VOID_FUNC1(intrin_local_irq_restore,
330 ";;\n" 342 ";;\n"
331 " cmp.ne p6, p7 = r8, r0\n" 343 " cmp.ne p6, p7 = r8, r0\n"