diff options
| -rw-r--r-- | arch/x86/include/asm/mpspec_def.h | 14 | ||||
| -rw-r--r-- | arch/x86/kernel/mpparse.c | 28 | ||||
| -rw-r--r-- | arch/x86/kernel/numaq_32.c | 9 | ||||
| -rw-r--r-- | arch/x86/kernel/visws_quirks.c | 28 |
4 files changed, 38 insertions, 41 deletions
diff --git a/arch/x86/include/asm/mpspec_def.h b/arch/x86/include/asm/mpspec_def.h index e24e1bc9c15e..78057aaba259 100644 --- a/arch/x86/include/asm/mpspec_def.h +++ b/arch/x86/include/asm/mpspec_def.h | |||
| @@ -71,13 +71,13 @@ struct mpc_table { | |||
| 71 | #define CPU_FAMILY_MASK 0x0F00 | 71 | #define CPU_FAMILY_MASK 0x0F00 |
| 72 | 72 | ||
| 73 | struct mpc_cpu { | 73 | struct mpc_cpu { |
| 74 | unsigned char mpc_type; | 74 | unsigned char type; |
| 75 | unsigned char mpc_apicid; /* Local APIC number */ | 75 | unsigned char apicid; /* Local APIC number */ |
| 76 | unsigned char mpc_apicver; /* Its versions */ | 76 | unsigned char apicver; /* Its versions */ |
| 77 | unsigned char mpc_cpuflag; | 77 | unsigned char cpuflag; |
| 78 | unsigned int mpc_cpufeature; | 78 | unsigned int cpufeature; |
| 79 | unsigned int mpc_featureflag; /* CPUID feature value */ | 79 | unsigned int featureflag; /* CPUID feature value */ |
| 80 | unsigned int mpc_reserved[2]; | 80 | unsigned int reserved[2]; |
| 81 | }; | 81 | }; |
| 82 | 82 | ||
| 83 | struct mpc_bus { | 83 | struct mpc_bus { |
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index a804f107db8a..a8b9ba9709fa 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c | |||
| @@ -54,7 +54,7 @@ static void __init MP_processor_info(struct mpc_cpu *m) | |||
| 54 | int apicid; | 54 | int apicid; |
| 55 | char *bootup_cpu = ""; | 55 | char *bootup_cpu = ""; |
| 56 | 56 | ||
| 57 | if (!(m->mpc_cpuflag & CPU_ENABLED)) { | 57 | if (!(m->cpuflag & CPU_ENABLED)) { |
| 58 | disabled_cpus++; | 58 | disabled_cpus++; |
| 59 | return; | 59 | return; |
| 60 | } | 60 | } |
| @@ -62,15 +62,15 @@ static void __init MP_processor_info(struct mpc_cpu *m) | |||
| 62 | if (x86_quirks->mpc_apic_id) | 62 | if (x86_quirks->mpc_apic_id) |
| 63 | apicid = x86_quirks->mpc_apic_id(m); | 63 | apicid = x86_quirks->mpc_apic_id(m); |
| 64 | else | 64 | else |
| 65 | apicid = m->mpc_apicid; | 65 | apicid = m->apicid; |
| 66 | 66 | ||
| 67 | if (m->mpc_cpuflag & CPU_BOOTPROCESSOR) { | 67 | if (m->cpuflag & CPU_BOOTPROCESSOR) { |
| 68 | bootup_cpu = " (Bootup-CPU)"; | 68 | bootup_cpu = " (Bootup-CPU)"; |
| 69 | boot_cpu_physical_apicid = m->mpc_apicid; | 69 | boot_cpu_physical_apicid = m->apicid; |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | printk(KERN_INFO "Processor #%d%s\n", m->mpc_apicid, bootup_cpu); | 72 | printk(KERN_INFO "Processor #%d%s\n", m->apicid, bootup_cpu); |
| 73 | generic_processor_info(apicid, m->mpc_apicver); | 73 | generic_processor_info(apicid, m->apicver); |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | #ifdef CONFIG_X86_IO_APIC | 76 | #ifdef CONFIG_X86_IO_APIC |
| @@ -542,17 +542,17 @@ static inline void __init construct_default_ISA_mptable(int mpc_default_type) | |||
| 542 | /* | 542 | /* |
| 543 | * 2 CPUs, numbered 0 & 1. | 543 | * 2 CPUs, numbered 0 & 1. |
| 544 | */ | 544 | */ |
| 545 | processor.mpc_type = MP_PROCESSOR; | 545 | processor.type = MP_PROCESSOR; |
| 546 | /* Either an integrated APIC or a discrete 82489DX. */ | 546 | /* Either an integrated APIC or a discrete 82489DX. */ |
| 547 | processor.mpc_apicver = mpc_default_type > 4 ? 0x10 : 0x01; | 547 | processor.apicver = mpc_default_type > 4 ? 0x10 : 0x01; |
| 548 | processor.mpc_cpuflag = CPU_ENABLED; | 548 | processor.cpuflag = CPU_ENABLED; |
| 549 | processor.mpc_cpufeature = (boot_cpu_data.x86 << 8) | | 549 | processor.cpufeature = (boot_cpu_data.x86 << 8) | |
| 550 | (boot_cpu_data.x86_model << 4) | boot_cpu_data.x86_mask; | 550 | (boot_cpu_data.x86_model << 4) | boot_cpu_data.x86_mask; |
| 551 | processor.mpc_featureflag = boot_cpu_data.x86_capability[0]; | 551 | processor.featureflag = boot_cpu_data.x86_capability[0]; |
| 552 | processor.mpc_reserved[0] = 0; | 552 | processor.reserved[0] = 0; |
| 553 | processor.mpc_reserved[1] = 0; | 553 | processor.reserved[1] = 0; |
| 554 | for (i = 0; i < 2; i++) { | 554 | for (i = 0; i < 2; i++) { |
| 555 | processor.mpc_apicid = i; | 555 | processor.apicid = i; |
| 556 | MP_processor_info(&processor); | 556 | MP_processor_info(&processor); |
| 557 | } | 557 | } |
| 558 | 558 | ||
diff --git a/arch/x86/kernel/numaq_32.c b/arch/x86/kernel/numaq_32.c index aa1e5a068551..a53831c64c58 100644 --- a/arch/x86/kernel/numaq_32.c +++ b/arch/x86/kernel/numaq_32.c | |||
| @@ -120,13 +120,12 @@ static inline int generate_logical_apicid(int quad, int phys_apicid) | |||
| 120 | static int mpc_apic_id(struct mpc_cpu *m) | 120 | static int mpc_apic_id(struct mpc_cpu *m) |
| 121 | { | 121 | { |
| 122 | int quad = translation_table[mpc_record]->trans_quad; | 122 | int quad = translation_table[mpc_record]->trans_quad; |
| 123 | int logical_apicid = generate_logical_apicid(quad, m->mpc_apicid); | 123 | int logical_apicid = generate_logical_apicid(quad, m->apicid); |
| 124 | 124 | ||
| 125 | printk(KERN_DEBUG "Processor #%d %u:%u APIC version %d (quad %d, apic %d)\n", | 125 | printk(KERN_DEBUG "Processor #%d %u:%u APIC version %d (quad %d, apic %d)\n", |
| 126 | m->mpc_apicid, | 126 | m->apicid, (m->cpufeature & CPU_FAMILY_MASK) >> 8, |
| 127 | (m->mpc_cpufeature & CPU_FAMILY_MASK) >> 8, | 127 | (m->cpufeature & CPU_MODEL_MASK) >> 4, |
| 128 | (m->mpc_cpufeature & CPU_MODEL_MASK) >> 4, | 128 | m->apicver, quad, logical_apicid); |
| 129 | m->mpc_apicver, quad, logical_apicid); | ||
| 130 | return logical_apicid; | 129 | return logical_apicid; |
| 131 | } | 130 | } |
| 132 | 131 | ||
diff --git a/arch/x86/kernel/visws_quirks.c b/arch/x86/kernel/visws_quirks.c index ca12afa63475..d801d06af068 100644 --- a/arch/x86/kernel/visws_quirks.c +++ b/arch/x86/kernel/visws_quirks.c | |||
| @@ -181,28 +181,26 @@ static void __init MP_processor_info(struct mpc_cpu *m) | |||
| 181 | int ver, logical_apicid; | 181 | int ver, logical_apicid; |
| 182 | physid_mask_t apic_cpus; | 182 | physid_mask_t apic_cpus; |
| 183 | 183 | ||
| 184 | if (!(m->mpc_cpuflag & CPU_ENABLED)) | 184 | if (!(m->cpuflag & CPU_ENABLED)) |
| 185 | return; | 185 | return; |
| 186 | 186 | ||
| 187 | logical_apicid = m->mpc_apicid; | 187 | logical_apicid = m->apicid; |
| 188 | printk(KERN_INFO "%sCPU #%d %u:%u APIC version %d\n", | 188 | printk(KERN_INFO "%sCPU #%d %u:%u APIC version %d\n", |
| 189 | m->mpc_cpuflag & CPU_BOOTPROCESSOR ? "Bootup " : "", | 189 | m->cpuflag & CPU_BOOTPROCESSOR ? "Bootup " : "", |
| 190 | m->mpc_apicid, | 190 | m->apicid, (m->cpufeature & CPU_FAMILY_MASK) >> 8, |
| 191 | (m->mpc_cpufeature & CPU_FAMILY_MASK) >> 8, | 191 | (m->cpufeature & CPU_MODEL_MASK) >> 4, m->apicver); |
| 192 | (m->mpc_cpufeature & CPU_MODEL_MASK) >> 4, | ||
| 193 | m->mpc_apicver); | ||
| 194 | 192 | ||
| 195 | if (m->mpc_cpuflag & CPU_BOOTPROCESSOR) | 193 | if (m->cpuflag & CPU_BOOTPROCESSOR) |
| 196 | boot_cpu_physical_apicid = m->mpc_apicid; | 194 | boot_cpu_physical_apicid = m->apicid; |
| 197 | 195 | ||
| 198 | ver = m->mpc_apicver; | 196 | ver = m->apicver; |
| 199 | if ((ver >= 0x14 && m->mpc_apicid >= 0xff) || m->mpc_apicid >= 0xf) { | 197 | if ((ver >= 0x14 && m->apicid >= 0xff) || m->apicid >= 0xf) { |
| 200 | printk(KERN_ERR "Processor #%d INVALID. (Max ID: %d).\n", | 198 | printk(KERN_ERR "Processor #%d INVALID. (Max ID: %d).\n", |
| 201 | m->mpc_apicid, MAX_APICS); | 199 | m->apicid, MAX_APICS); |
| 202 | return; | 200 | return; |
| 203 | } | 201 | } |
| 204 | 202 | ||
| 205 | apic_cpus = apicid_to_cpu_present(m->mpc_apicid); | 203 | apic_cpus = apicid_to_cpu_present(m->apicid); |
| 206 | physids_or(phys_cpu_present_map, phys_cpu_present_map, apic_cpus); | 204 | physids_or(phys_cpu_present_map, phys_cpu_present_map, apic_cpus); |
| 207 | /* | 205 | /* |
| 208 | * Validate version | 206 | * Validate version |
| @@ -210,10 +208,10 @@ static void __init MP_processor_info(struct mpc_cpu *m) | |||
| 210 | if (ver == 0x0) { | 208 | if (ver == 0x0) { |
| 211 | printk(KERN_ERR "BIOS bug, APIC version is 0 for CPU#%d! " | 209 | printk(KERN_ERR "BIOS bug, APIC version is 0 for CPU#%d! " |
| 212 | "fixing up to 0x10. (tell your hw vendor)\n", | 210 | "fixing up to 0x10. (tell your hw vendor)\n", |
| 213 | m->mpc_apicid); | 211 | m->apicid); |
| 214 | ver = 0x10; | 212 | ver = 0x10; |
| 215 | } | 213 | } |
| 216 | apic_version[m->mpc_apicid] = ver; | 214 | apic_version[m->apicid] = ver; |
| 217 | } | 215 | } |
| 218 | 216 | ||
| 219 | static int __init visws_find_smp_config(unsigned int reserve) | 217 | static int __init visws_find_smp_config(unsigned int reserve) |
