diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2009-03-27 02:11:57 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2009-03-27 14:11:04 -0400 |
commit | 7120569c76028a6883697b7643564f0c419cfe07 (patch) | |
tree | 625bb217be00a2673b6f210a34352fdc3ddecc69 /arch/ia64/include | |
parent | b46a0b08b8bdf6467cd2b49f520e100c72885302 (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.h | 22 | ||||
-rw-r--r-- | arch/ia64/include/asm/xen/privop.h | 2 |
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 | ||
35 | struct pv_cpu_ops { | 35 | struct 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 | ||
384 | PARAVIRT_DEFINE_CPU_OP1(fc, FC); | 400 | PARAVIRT_DEFINE_CPU_OP1_VOID(fc, FC); |
385 | PARAVIRT_DEFINE_CPU_OP1_RET(thash, THASH) | 401 | PARAVIRT_DEFINE_CPU_OP1_RET(thash, THASH) |
386 | PARAVIRT_DEFINE_CPU_OP1_RET(get_cpuid, GET_CPUID) | 402 | PARAVIRT_DEFINE_CPU_OP1_RET(get_cpuid, GET_CPUID) |
387 | PARAVIRT_DEFINE_CPU_OP1_RET(get_pmd, GET_PMD) | 403 | PARAVIRT_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. */ |
72 | extern void xen_fc(unsigned long addr); | 72 | extern void xen_fc(void *addr); |
73 | extern unsigned long xen_thash(unsigned long addr); | 73 | extern 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" |