diff options
-rw-r--r-- | arch/x86/kernel/setup_64.c | 20 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_64.lds.S | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 0cebf953c25a..b789ec599923 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c | |||
@@ -664,6 +664,25 @@ static void __cpuinit get_cpu_vendor(struct cpuinfo_x86 *c) | |||
664 | c->x86_vendor = X86_VENDOR_UNKNOWN; | 664 | c->x86_vendor = X86_VENDOR_UNKNOWN; |
665 | } | 665 | } |
666 | 666 | ||
667 | static void __init early_cpu_support_print(void) | ||
668 | { | ||
669 | int i,j; | ||
670 | struct cpu_dev *cpu_devx; | ||
671 | |||
672 | printk("KERNEL supported cpus:\n"); | ||
673 | for (i = 0; i < X86_VENDOR_NUM; i++) { | ||
674 | cpu_devx = cpu_devs[i]; | ||
675 | if (!cpu_devx) | ||
676 | continue; | ||
677 | for (j = 0; j < 2; j++) { | ||
678 | if (!cpu_devx->c_ident[j]) | ||
679 | continue; | ||
680 | printk(" %s %s\n", cpu_devx->c_vendor, | ||
681 | cpu_devx->c_ident[j]); | ||
682 | } | ||
683 | } | ||
684 | } | ||
685 | |||
667 | static void __init early_cpu_init(void) | 686 | static void __init early_cpu_init(void) |
668 | { | 687 | { |
669 | struct cpu_vendor_dev *cvdev; | 688 | struct cpu_vendor_dev *cvdev; |
@@ -672,6 +691,7 @@ static void __init early_cpu_init(void) | |||
672 | cvdev < __x86cpuvendor_end ; | 691 | cvdev < __x86cpuvendor_end ; |
673 | cvdev++) | 692 | cvdev++) |
674 | cpu_devs[cvdev->vendor] = cvdev->cpu_dev; | 693 | cpu_devs[cvdev->vendor] = cvdev->cpu_dev; |
694 | early_cpu_support_print(); | ||
675 | } | 695 | } |
676 | 696 | ||
677 | /* Do some early cpuid on the boot CPU to get some parameter that are | 697 | /* Do some early cpuid on the boot CPU to get some parameter that are |
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S index fad3674b06a5..b29f63bdff5e 100644 --- a/arch/x86/kernel/vmlinux_64.lds.S +++ b/arch/x86/kernel/vmlinux_64.lds.S | |||
@@ -177,6 +177,7 @@ SECTIONS | |||
177 | *(.con_initcall.init) | 177 | *(.con_initcall.init) |
178 | } | 178 | } |
179 | __con_initcall_end = .; | 179 | __con_initcall_end = .; |
180 | . = ALIGN(16); | ||
180 | __x86cpuvendor_start = .; | 181 | __x86cpuvendor_start = .; |
181 | .x86cpuvendor.init : AT(ADDR(.x86cpuvendor.init) - LOAD_OFFSET) { | 182 | .x86cpuvendor.init : AT(ADDR(.x86cpuvendor.init) - LOAD_OFFSET) { |
182 | *(.x86cpuvendor.init) | 183 | *(.x86cpuvendor.init) |