aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2008-07-11 16:11:56 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-12 02:45:10 -0400
commitad66dd340f561bdde2285992314d9e4fd9b6191e (patch)
treea5335c6762964731603f49ea59b53fffdb2b0325 /include
parent277d1f5846d84e16760131a93b7a67ebfa8eded4 (diff)
x2apic: xen64 paravirt basic apic ops
Define the Xen specific basic apic ops, in additon to paravirt apic ops, with some misc warning fixes. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/paravirt.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 10adac02e6db..5e34d26aa3b5 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -200,13 +200,15 @@ struct pv_irq_ops {
200 200
201struct pv_apic_ops { 201struct pv_apic_ops {
202#ifdef CONFIG_X86_LOCAL_APIC 202#ifdef CONFIG_X86_LOCAL_APIC
203#ifndef CONFIG_X86_64
203 /* 204 /*
204 * Direct APIC operations, principally for VMI. Ideally 205 * Direct APIC operations, principally for VMI. Ideally
205 * these shouldn't be in this interface. 206 * these shouldn't be in this interface.
206 */ 207 */
207 void (*apic_write)(unsigned long reg, u32 v); 208 void (*apic_write)(u32 reg, u32 v);
208 void (*apic_write_atomic)(unsigned long reg, u32 v); 209 void (*apic_write_atomic)(u32 reg, u32 v);
209 u32 (*apic_read)(unsigned long reg); 210 u32 (*apic_read)(u32 reg);
211#endif
210 void (*setup_boot_clock)(void); 212 void (*setup_boot_clock)(void);
211 void (*setup_secondary_clock)(void); 213 void (*setup_secondary_clock)(void);
212 214
@@ -892,17 +894,17 @@ static inline void slow_down_io(void)
892 * Basic functions accessing APICs. 894 * Basic functions accessing APICs.
893 */ 895 */
894#ifndef CONFIG_X86_64 896#ifndef CONFIG_X86_64
895static inline void apic_write(unsigned long reg, u32 v) 897static inline void apic_write(u32 reg, u32 v)
896{ 898{
897 PVOP_VCALL2(pv_apic_ops.apic_write, reg, v); 899 PVOP_VCALL2(pv_apic_ops.apic_write, reg, v);
898} 900}
899 901
900static inline void apic_write_atomic(unsigned long reg, u32 v) 902static inline void apic_write_atomic(u32 reg, u32 v)
901{ 903{
902 PVOP_VCALL2(pv_apic_ops.apic_write_atomic, reg, v); 904 PVOP_VCALL2(pv_apic_ops.apic_write_atomic, reg, v);
903} 905}
904 906
905static inline u32 apic_read(unsigned long reg) 907static inline u32 apic_read(u32 reg)
906{ 908{
907 return PVOP_CALL1(unsigned long, pv_apic_ops.apic_read, reg); 909 return PVOP_CALL1(unsigned long, pv_apic_ops.apic_read, reg);
908} 910}