diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-02-11 04:49:40 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-11 04:49:40 -0500 |
commit | d5b5a232b2f2b6e64762308e90d47248dddfd72f (patch) | |
tree | 968c0568b62d6eeeec22a2ca07f1be6de07c437d /arch/x86/include/asm/apic.h | |
parent | 0e81cb59c7120191c0243c686b591797bc79e5c6 (diff) | |
parent | bf56957d176c279175464f385f3eb03d65819328 (diff) |
Merge branch 'x86/apic' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/apic
Diffstat (limited to 'arch/x86/include/asm/apic.h')
-rw-r--r-- | arch/x86/include/asm/apic.h | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index b03711d7990b..f4835a1be360 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h | |||
@@ -139,12 +139,35 @@ struct apic_ops { | |||
139 | 139 | ||
140 | extern struct apic_ops *apic_ops; | 140 | extern struct apic_ops *apic_ops; |
141 | 141 | ||
142 | #define apic_read (apic_ops->read) | 142 | static inline u32 apic_read(u32 reg) |
143 | #define apic_write (apic_ops->write) | 143 | { |
144 | #define apic_icr_read (apic_ops->icr_read) | 144 | return apic_ops->read(reg); |
145 | #define apic_icr_write (apic_ops->icr_write) | 145 | } |
146 | #define apic_wait_icr_idle (apic_ops->wait_icr_idle) | 146 | |
147 | #define safe_apic_wait_icr_idle (apic_ops->safe_wait_icr_idle) | 147 | static inline void apic_write(u32 reg, u32 val) |
148 | { | ||
149 | apic_ops->write(reg, val); | ||
150 | } | ||
151 | |||
152 | static inline u64 apic_icr_read(void) | ||
153 | { | ||
154 | return apic_ops->icr_read(); | ||
155 | } | ||
156 | |||
157 | static inline void apic_icr_write(u32 low, u32 high) | ||
158 | { | ||
159 | apic_ops->icr_write(low, high); | ||
160 | } | ||
161 | |||
162 | static inline void apic_wait_icr_idle(void) | ||
163 | { | ||
164 | apic_ops->wait_icr_idle(); | ||
165 | } | ||
166 | |||
167 | static inline u32 safe_apic_wait_icr_idle(void) | ||
168 | { | ||
169 | return apic_ops->safe_wait_icr_idle(); | ||
170 | } | ||
148 | 171 | ||
149 | extern int get_physical_broadcast(void); | 172 | extern int get_physical_broadcast(void); |
150 | 173 | ||