diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-03-19 13:25:19 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:41:00 -0400 |
commit | cbe879fc6c77b5751a91167654b75a39421d0f3f (patch) | |
tree | aa06f7b0979dd1365ad97ba7779078c625cee41b /include/asm-x86 | |
parent | 7e1efc0cde2a266fc31932ea7aed4bb20f524544 (diff) |
x86: define bios to apicid mapping
This mapping already exists in x86_64, just provide it for
i386
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86')
-rw-r--r-- | include/asm-x86/mach-bigsmp/mach_apic.h | 7 | ||||
-rw-r--r-- | include/asm-x86/mach-es7000/mach_apic.h | 8 | ||||
-rw-r--r-- | include/asm-x86/mach-summit/mach_apic.h | 3 |
3 files changed, 6 insertions, 12 deletions
diff --git a/include/asm-x86/mach-bigsmp/mach_apic.h b/include/asm-x86/mach-bigsmp/mach_apic.h index 6df235e8ea91..0d55b1f6d56b 100644 --- a/include/asm-x86/mach-bigsmp/mach_apic.h +++ b/include/asm-x86/mach-bigsmp/mach_apic.h | |||
@@ -1,10 +1,7 @@ | |||
1 | #ifndef __ASM_MACH_APIC_H | 1 | #ifndef __ASM_MACH_APIC_H |
2 | #define __ASM_MACH_APIC_H | 2 | #define __ASM_MACH_APIC_H |
3 | 3 | ||
4 | 4 | #define xapic_phys_to_log_apicid(cpu) (per_cpu(x86_bios_cpu_apicid, cpu)) | |
5 | extern u8 bios_cpu_apicid[]; | ||
6 | |||
7 | #define xapic_phys_to_log_apicid(cpu) (bios_cpu_apicid[cpu]) | ||
8 | #define esr_disable (1) | 5 | #define esr_disable (1) |
9 | 6 | ||
10 | static inline int apic_id_registered(void) | 7 | static inline int apic_id_registered(void) |
@@ -90,7 +87,7 @@ static inline int apicid_to_node(int logical_apicid) | |||
90 | static inline int cpu_present_to_apicid(int mps_cpu) | 87 | static inline int cpu_present_to_apicid(int mps_cpu) |
91 | { | 88 | { |
92 | if (mps_cpu < NR_CPUS) | 89 | if (mps_cpu < NR_CPUS) |
93 | return (int) bios_cpu_apicid[mps_cpu]; | 90 | return (int) per_cpu(x86_bios_cpu_apicid, mps_cpu); |
94 | 91 | ||
95 | return BAD_APICID; | 92 | return BAD_APICID; |
96 | } | 93 | } |
diff --git a/include/asm-x86/mach-es7000/mach_apic.h b/include/asm-x86/mach-es7000/mach_apic.h index d23011fdf454..04cba9f1e375 100644 --- a/include/asm-x86/mach-es7000/mach_apic.h +++ b/include/asm-x86/mach-es7000/mach_apic.h | |||
@@ -1,9 +1,7 @@ | |||
1 | #ifndef __ASM_MACH_APIC_H | 1 | #ifndef __ASM_MACH_APIC_H |
2 | #define __ASM_MACH_APIC_H | 2 | #define __ASM_MACH_APIC_H |
3 | 3 | ||
4 | extern u8 bios_cpu_apicid[]; | 4 | #define xapic_phys_to_log_apicid(cpu) per_cpu(x86_bios_cpu_apicid, cpu) |
5 | |||
6 | #define xapic_phys_to_log_apicid(cpu) (bios_cpu_apicid[cpu]) | ||
7 | #define esr_disable (1) | 5 | #define esr_disable (1) |
8 | 6 | ||
9 | static inline int apic_id_registered(void) | 7 | static inline int apic_id_registered(void) |
@@ -80,7 +78,7 @@ extern void enable_apic_mode(void); | |||
80 | extern int apic_version [MAX_APICS]; | 78 | extern int apic_version [MAX_APICS]; |
81 | static inline void setup_apic_routing(void) | 79 | static inline void setup_apic_routing(void) |
82 | { | 80 | { |
83 | int apic = bios_cpu_apicid[smp_processor_id()]; | 81 | int apic = per_cpu(x86_bios_cpu_apicid, smp_processor_id()); |
84 | printk("Enabling APIC mode: %s. Using %d I/O APICs, target cpus %lx\n", | 82 | printk("Enabling APIC mode: %s. Using %d I/O APICs, target cpus %lx\n", |
85 | (apic_version[apic] == 0x14) ? | 83 | (apic_version[apic] == 0x14) ? |
86 | "Physical Cluster" : "Logical Cluster", nr_ioapics, cpus_addr(TARGET_CPUS)[0]); | 84 | "Physical Cluster" : "Logical Cluster", nr_ioapics, cpus_addr(TARGET_CPUS)[0]); |
@@ -102,7 +100,7 @@ static inline int cpu_present_to_apicid(int mps_cpu) | |||
102 | if (!mps_cpu) | 100 | if (!mps_cpu) |
103 | return boot_cpu_physical_apicid; | 101 | return boot_cpu_physical_apicid; |
104 | else if (mps_cpu < NR_CPUS) | 102 | else if (mps_cpu < NR_CPUS) |
105 | return (int) bios_cpu_apicid[mps_cpu]; | 103 | return (int) per_cpu(x86_bios_cpu_apicid, mps_cpu); |
106 | else | 104 | else |
107 | return BAD_APICID; | 105 | return BAD_APICID; |
108 | } | 106 | } |
diff --git a/include/asm-x86/mach-summit/mach_apic.h b/include/asm-x86/mach-summit/mach_apic.h index 062c97f6100b..91d7641cddc9 100644 --- a/include/asm-x86/mach-summit/mach_apic.h +++ b/include/asm-x86/mach-summit/mach_apic.h | |||
@@ -40,7 +40,6 @@ static inline unsigned long check_apicid_present(int bit) | |||
40 | 40 | ||
41 | #define apicid_cluster(apicid) ((apicid) & XAPIC_DEST_CLUSTER_MASK) | 41 | #define apicid_cluster(apicid) ((apicid) & XAPIC_DEST_CLUSTER_MASK) |
42 | 42 | ||
43 | extern u8 bios_cpu_apicid[]; | ||
44 | extern u8 cpu_2_logical_apicid[]; | 43 | extern u8 cpu_2_logical_apicid[]; |
45 | 44 | ||
46 | static inline void init_apic_ldr(void) | 45 | static inline void init_apic_ldr(void) |
@@ -110,7 +109,7 @@ static inline int cpu_to_logical_apicid(int cpu) | |||
110 | static inline int cpu_present_to_apicid(int mps_cpu) | 109 | static inline int cpu_present_to_apicid(int mps_cpu) |
111 | { | 110 | { |
112 | if (mps_cpu < NR_CPUS) | 111 | if (mps_cpu < NR_CPUS) |
113 | return (int)bios_cpu_apicid[mps_cpu]; | 112 | return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu); |
114 | else | 113 | else |
115 | return BAD_APICID; | 114 | return BAD_APICID; |
116 | } | 115 | } |