diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-07-11 16:11:56 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-12 02:45:10 -0400 |
commit | ad66dd340f561bdde2285992314d9e4fd9b6191e (patch) | |
tree | a5335c6762964731603f49ea59b53fffdb2b0325 /include | |
parent | 277d1f5846d84e16760131a93b7a67ebfa8eded4 (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.h | 14 |
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 | ||
201 | struct pv_apic_ops { | 201 | struct 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 |
895 | static inline void apic_write(unsigned long reg, u32 v) | 897 | static 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 | ||
900 | static inline void apic_write_atomic(unsigned long reg, u32 v) | 902 | static 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 | ||
905 | static inline u32 apic_read(unsigned long reg) | 907 | static 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 | } |