aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-11-14 04:34:41 -0500
committerIngo Molnar <mingo@elte.hu>2009-11-14 04:36:50 -0500
commit31c997cac76e62918858a432fff6e43fd48425f9 (patch)
treeeb51080a212209b8370a9eec3b4824751e96a32a /arch
parentb01c845f0f2e3f9e54e6a78d5d56895f5b95e818 (diff)
x86: Fix cpu_devs[] initialization in early_cpu_init()
Yinghai Lu noticed that this commit: 0388423: x86: Minimise printk spew from per-vendor init code mistakenly left out the initialization of cpu_devs[] in the !PROCESSOR_SELECT case. Fix it. Reported-by: Yinghai Lu <yinghai@kernel.org> Cc: Dave Jones <davej@redhat.com> LKML-Reference: <20091113203000.GA19160@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/cpu/common.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 9db1e2425c2..61242a56c2d 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -651,28 +651,34 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
651 651
652void __init early_cpu_init(void) 652void __init early_cpu_init(void)
653{ 653{
654#ifdef PROCESSOR_SELECT
655 const struct cpu_dev *const *cdev; 654 const struct cpu_dev *const *cdev;
656 int count = 0; 655 int count = 0;
657 656
657#ifdef PROCESSOR_SELECT
658 printk(KERN_INFO "KERNEL supported cpus:\n"); 658 printk(KERN_INFO "KERNEL supported cpus:\n");
659#endif
660
659 for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) { 661 for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) {
660 const struct cpu_dev *cpudev = *cdev; 662 const struct cpu_dev *cpudev = *cdev;
661 unsigned int j;
662 663
663 if (count >= X86_VENDOR_NUM) 664 if (count >= X86_VENDOR_NUM)
664 break; 665 break;
665 cpu_devs[count] = cpudev; 666 cpu_devs[count] = cpudev;
666 count++; 667 count++;
667 668
668 for (j = 0; j < 2; j++) { 669#ifdef PROCESSOR_SELECT
669 if (!cpudev->c_ident[j]) 670 {
670 continue; 671 unsigned int j;
671 printk(KERN_INFO " %s %s\n", cpudev->c_vendor, 672
672 cpudev->c_ident[j]); 673 for (j = 0; j < 2; j++) {
674 if (!cpudev->c_ident[j])
675 continue;
676 printk(KERN_INFO " %s %s\n", cpudev->c_vendor,
677 cpudev->c_ident[j]);
678 }
673 } 679 }
674 }
675#endif 680#endif
681 }
676 early_identify_cpu(&boot_cpu_data); 682 early_identify_cpu(&boot_cpu_data);
677} 683}
678 684