aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/include
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2009-03-27 02:11:57 -0400
committerTony Luck <tony.luck@intel.com>2009-03-27 14:11:04 -0400
commit7120569c76028a6883697b7643564f0c419cfe07 (patch)
tree625bb217be00a2673b6f210a34352fdc3ddecc69 /arch/ia64/include
parentb46a0b08b8bdf6467cd2b49f520e100c72885302 (diff)
ia64: remove some warnings.
This patch removes the following warnings and related ones. Plus some cosmetics. arch/ia64/kernel/patch.c:112: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:135: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:166: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:202: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:220: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/include')
-rw-r--r--arch/ia64/include/asm/paravirt_privop.h22
-rw-r--r--arch/ia64/include/asm/xen/privop.h2
2 files changed, 20 insertions, 4 deletions
diff --git a/arch/ia64/include/asm/paravirt_privop.h b/arch/ia64/include/asm/paravirt_privop.h
index 4e40e62c4ab8..3d2951130b5f 100644
--- a/arch/ia64/include/asm/paravirt_privop.h
+++ b/arch/ia64/include/asm/paravirt_privop.h
@@ -33,7 +33,7 @@
33 */ 33 */
34 34
35struct pv_cpu_ops { 35struct pv_cpu_ops {
36 void (*fc)(unsigned long addr); 36 void (*fc)(void *addr);
37 unsigned long (*thash)(unsigned long addr); 37 unsigned long (*thash)(unsigned long addr);
38 unsigned long (*get_cpuid)(int index); 38 unsigned long (*get_cpuid)(int index);
39 unsigned long (*get_pmd)(int index); 39 unsigned long (*get_pmd)(int index);
@@ -248,7 +248,7 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch);
248 "r15", "r16", "r17" 248 "r15", "r16", "r17"
249 249
250#define PARAVIRT_REG_CLOBBERS1 \ 250#define PARAVIRT_REG_CLOBBERS1 \
251 "r2","r3", /*"r8",*/ "r9", "r10", "r11", "r14", \ 251 "r2","r3", /*"r8",*/ "r9", "r10", "r11", "r14", \
252 "r15", "r16", "r17" 252 "r15", "r16", "r17"
253 253
254#define PARAVIRT_REG_CLOBBERS2 \ 254#define PARAVIRT_REG_CLOBBERS2 \
@@ -330,6 +330,15 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch);
330 : PARAVIRT_OP(op), "0"(__##arg1) \ 330 : PARAVIRT_OP(op), "0"(__##arg1) \
331 : PARAVIRT_CLOBBERS1) 331 : PARAVIRT_CLOBBERS1)
332 332
333#define PARAVIRT_BR1_VOID(op, type, arg1) \
334 register void *__##arg1 asm ("r8") = arg1; \
335 register unsigned long ia64_clobber asm ("r8"); \
336 asm volatile (paravirt_alt_bundle(__PARAVIRT_BR, \
337 PARAVIRT_TYPE(type)) \
338 : "=r"(ia64_clobber) \
339 : PARAVIRT_OP(op), "0"(__##arg1) \
340 : PARAVIRT_CLOBBERS1)
341
333#define PARAVIRT_BR2(op, type, arg1, arg2) \ 342#define PARAVIRT_BR2(op, type, arg1, arg2) \
334 register unsigned long __##arg1 asm ("r8") = arg1; \ 343 register unsigned long __##arg1 asm ("r8") = arg1; \
335 register unsigned long __##arg2 asm ("r9") = arg2; \ 344 register unsigned long __##arg2 asm ("r9") = arg2; \
@@ -357,6 +366,13 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch);
357 return ia64_intri_res; \ 366 return ia64_intri_res; \
358 } 367 }
359 368
369#define PARAVIRT_DEFINE_CPU_OP1_VOID(op, type) \
370 static inline void \
371 paravirt_ ## op (void *arg1) \
372 { \
373 PARAVIRT_BR1_VOID(op, type, arg1); \
374 }
375
360#define PARAVIRT_DEFINE_CPU_OP1(op, type) \ 376#define PARAVIRT_DEFINE_CPU_OP1(op, type) \
361 static inline void \ 377 static inline void \
362 paravirt_ ## op (unsigned long arg1) \ 378 paravirt_ ## op (unsigned long arg1) \
@@ -381,7 +397,7 @@ void paravirt_cpu_asm_init(const struct pv_cpu_asm_switch *cpu_asm_switch);
381 } 397 }
382 398
383 399
384PARAVIRT_DEFINE_CPU_OP1(fc, FC); 400PARAVIRT_DEFINE_CPU_OP1_VOID(fc, FC);
385PARAVIRT_DEFINE_CPU_OP1_RET(thash, THASH) 401PARAVIRT_DEFINE_CPU_OP1_RET(thash, THASH)
386PARAVIRT_DEFINE_CPU_OP1_RET(get_cpuid, GET_CPUID) 402PARAVIRT_DEFINE_CPU_OP1_RET(get_cpuid, GET_CPUID)
387PARAVIRT_DEFINE_CPU_OP1_RET(get_pmd, GET_PMD) 403PARAVIRT_DEFINE_CPU_OP1_RET(get_pmd, GET_PMD)
diff --git a/arch/ia64/include/asm/xen/privop.h b/arch/ia64/include/asm/xen/privop.h
index e5fbaeeb161a..fb4ec5e0b066 100644
--- a/arch/ia64/include/asm/xen/privop.h
+++ b/arch/ia64/include/asm/xen/privop.h
@@ -69,7 +69,7 @@
69 * may have different semantics depending on whether they are executed 69 * may have different semantics depending on whether they are executed
70 * at PL0 vs PL!=0. When paravirtualized, these instructions mustn't 70 * at PL0 vs PL!=0. When paravirtualized, these instructions mustn't
71 * be allowed to execute directly, lest incorrect semantics result. */ 71 * be allowed to execute directly, lest incorrect semantics result. */
72extern void xen_fc(unsigned long addr); 72extern void xen_fc(void *addr);
73extern unsigned long xen_thash(unsigned long addr); 73extern unsigned long xen_thash(unsigned long addr);
74 74
75/* Note that "ttag" and "cover" are also privilege-sensitive; "ttag" 75/* Note that "ttag" and "cover" are also privilege-sensitive; "ttag"