diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-07-10 14:16:49 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-12 02:44:59 -0400 |
commit | 1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa (patch) | |
tree | faf5aa00e344e473957206bc82ffbb746e438d0b /include/asm-x86/smp.h | |
parent | 2d7a66d02e11af9ab8e16c76d22767e622b4e3d7 (diff) |
x64, x2apic/intr-remap: basic apic ops support
Introduce basic apic operations which handle the apic programming. This
will be used later to introduce another specific operations for x2apic.
For the perfomance critial accesses like IPI's, EOI etc, we use the
native operations as they are already referenced by different
indirections like genapic, irq_chip etc.
64bit Paravirt ops can also define their apic operations accordingly.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: akpm@linux-foundation.org
Cc: arjan@linux.intel.com
Cc: andi@firstfloor.org
Cc: ebiederm@xmission.com
Cc: jbarnes@virtuousgeek.org
Cc: steiner@sgi.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/smp.h')
-rw-r--r-- | include/asm-x86/smp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h index 9848715fbd9e..d9d007d22785 100644 --- a/include/asm-x86/smp.h +++ b/include/asm-x86/smp.h | |||
@@ -158,13 +158,13 @@ extern int safe_smp_processor_id(void); | |||
158 | 158 | ||
159 | #ifdef CONFIG_X86_LOCAL_APIC | 159 | #ifdef CONFIG_X86_LOCAL_APIC |
160 | 160 | ||
161 | #ifndef CONFIG_X86_64 | ||
161 | static inline int logical_smp_processor_id(void) | 162 | static inline int logical_smp_processor_id(void) |
162 | { | 163 | { |
163 | /* we don't want to mark this access volatile - bad code generation */ | 164 | /* we don't want to mark this access volatile - bad code generation */ |
164 | return GET_APIC_LOGICAL_ID(*(u32 *)(APIC_BASE + APIC_LDR)); | 165 | return GET_APIC_LOGICAL_ID(*(u32 *)(APIC_BASE + APIC_LDR)); |
165 | } | 166 | } |
166 | 167 | ||
167 | #ifndef CONFIG_X86_64 | ||
168 | static inline unsigned int read_apic_id(void) | 168 | static inline unsigned int read_apic_id(void) |
169 | { | 169 | { |
170 | return *(u32 *)(APIC_BASE + APIC_ID); | 170 | return *(u32 *)(APIC_BASE + APIC_ID); |