diff options
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
| -rw-r--r-- | arch/x86/kernel/cpu/common.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index cc25c2b4a567..a4ec8b647544 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
| @@ -61,7 +61,7 @@ void __init setup_cpu_local_masks(void) | |||
| 61 | static void __cpuinit default_init(struct cpuinfo_x86 *c) | 61 | static void __cpuinit default_init(struct cpuinfo_x86 *c) |
| 62 | { | 62 | { |
| 63 | #ifdef CONFIG_X86_64 | 63 | #ifdef CONFIG_X86_64 |
| 64 | display_cacheinfo(c); | 64 | cpu_detect_cache_sizes(c); |
| 65 | #else | 65 | #else |
| 66 | /* Not much we can do here... */ | 66 | /* Not much we can do here... */ |
| 67 | /* Check if at least it has cpuid */ | 67 | /* Check if at least it has cpuid */ |
| @@ -383,7 +383,7 @@ static void __cpuinit get_model_name(struct cpuinfo_x86 *c) | |||
| 383 | } | 383 | } |
| 384 | } | 384 | } |
| 385 | 385 | ||
| 386 | void __cpuinit display_cacheinfo(struct cpuinfo_x86 *c) | 386 | void __cpuinit cpu_detect_cache_sizes(struct cpuinfo_x86 *c) |
| 387 | { | 387 | { |
| 388 | unsigned int n, dummy, ebx, ecx, edx, l2size; | 388 | unsigned int n, dummy, ebx, ecx, edx, l2size; |
| 389 | 389 | ||
| @@ -391,8 +391,6 @@ void __cpuinit display_cacheinfo(struct cpuinfo_x86 *c) | |||
| 391 | 391 | ||
| 392 | if (n >= 0x80000005) { | 392 | if (n >= 0x80000005) { |
| 393 | cpuid(0x80000005, &dummy, &ebx, &ecx, &edx); | 393 | cpuid(0x80000005, &dummy, &ebx, &ecx, &edx); |
| 394 | printk(KERN_INFO "CPU: L1 I Cache: %dK (%d bytes/line), D cache %dK (%d bytes/line)\n", | ||
| 395 | edx>>24, edx&0xFF, ecx>>24, ecx&0xFF); | ||
| 396 | c->x86_cache_size = (ecx>>24) + (edx>>24); | 394 | c->x86_cache_size = (ecx>>24) + (edx>>24); |
| 397 | #ifdef CONFIG_X86_64 | 395 | #ifdef CONFIG_X86_64 |
| 398 | /* On K8 L1 TLB is inclusive, so don't count it */ | 396 | /* On K8 L1 TLB is inclusive, so don't count it */ |
| @@ -422,9 +420,6 @@ void __cpuinit display_cacheinfo(struct cpuinfo_x86 *c) | |||
| 422 | #endif | 420 | #endif |
| 423 | 421 | ||
| 424 | c->x86_cache_size = l2size; | 422 | c->x86_cache_size = l2size; |
| 425 | |||
| 426 | printk(KERN_INFO "CPU: L2 Cache: %dK (%d bytes/line)\n", | ||
| 427 | l2size, ecx & 0xFF); | ||
| 428 | } | 423 | } |
| 429 | 424 | ||
| 430 | void __cpuinit detect_ht(struct cpuinfo_x86 *c) | 425 | void __cpuinit detect_ht(struct cpuinfo_x86 *c) |
| @@ -659,24 +654,31 @@ void __init early_cpu_init(void) | |||
| 659 | const struct cpu_dev *const *cdev; | 654 | const struct cpu_dev *const *cdev; |
| 660 | int count = 0; | 655 | int count = 0; |
| 661 | 656 | ||
| 657 | #ifdef PROCESSOR_SELECT | ||
| 662 | printk(KERN_INFO "KERNEL supported cpus:\n"); | 658 | printk(KERN_INFO "KERNEL supported cpus:\n"); |
| 659 | #endif | ||
| 660 | |||
| 663 | 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++) { |
| 664 | const struct cpu_dev *cpudev = *cdev; | 662 | const struct cpu_dev *cpudev = *cdev; |
| 665 | unsigned int j; | ||
| 666 | 663 | ||
| 667 | if (count >= X86_VENDOR_NUM) | 664 | if (count >= X86_VENDOR_NUM) |
| 668 | break; | 665 | break; |
| 669 | cpu_devs[count] = cpudev; | 666 | cpu_devs[count] = cpudev; |
| 670 | count++; | 667 | count++; |
| 671 | 668 | ||
| 672 | for (j = 0; j < 2; j++) { | 669 | #ifdef PROCESSOR_SELECT |
| 673 | if (!cpudev->c_ident[j]) | 670 | { |
| 674 | continue; | 671 | unsigned int j; |
| 675 | printk(KERN_INFO " %s %s\n", cpudev->c_vendor, | 672 | |
| 676 | 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 | } | ||
| 677 | } | 679 | } |
| 680 | #endif | ||
| 678 | } | 681 | } |
| 679 | |||
| 680 | early_identify_cpu(&boot_cpu_data); | 682 | early_identify_cpu(&boot_cpu_data); |
| 681 | } | 683 | } |
| 682 | 684 | ||
| @@ -837,10 +839,8 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) | |||
| 837 | boot_cpu_data.x86_capability[i] &= c->x86_capability[i]; | 839 | boot_cpu_data.x86_capability[i] &= c->x86_capability[i]; |
| 838 | } | 840 | } |
| 839 | 841 | ||
| 840 | #ifdef CONFIG_X86_MCE | ||
| 841 | /* Init Machine Check Exception if available. */ | 842 | /* Init Machine Check Exception if available. */ |
| 842 | mcheck_init(c); | 843 | mcheck_cpu_init(c); |
| 843 | #endif | ||
| 844 | 844 | ||
| 845 | select_idle_routine(c); | 845 | select_idle_routine(c); |
| 846 | 846 | ||
