aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/head64.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 04:52:32 -0400
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 04:52:32 -0400
commit9ca33eb6981549c0d1b7aea7f99f1ba602161356 (patch)
tree9b74231b83fdf834f40fac40b95b0b6656835b9b /arch/x86_64/kernel/head64.c
parentd4d35854a1cf7fb170c8e133a5e40a9d19e7fc17 (diff)
[PATCH] Use early CPU identify before early command line parsing
This makes it possible to modify CPU flags in command line options without hacks. And remove another copy in head64.c Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/x86_64/kernel/head64.c')
-rw-r--r--arch/x86_64/kernel/head64.c19
1 files changed, 0 insertions, 19 deletions
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c
index bacbd75c63ad..f2461fde9f8f 100644
--- a/arch/x86_64/kernel/head64.c
+++ b/arch/x86_64/kernel/head64.c
@@ -56,24 +56,6 @@ static void __init copy_bootdata(char *real_mode_data)
56 printk("Bootdata ok (command line is %s)\n", saved_command_line); 56 printk("Bootdata ok (command line is %s)\n", saved_command_line);
57} 57}
58 58
59static void __init setup_boot_cpu_data(void)
60{
61 unsigned int dummy, eax;
62
63 /* get vendor info */
64 cpuid(0, (unsigned int *)&boot_cpu_data.cpuid_level,
65 (unsigned int *)&boot_cpu_data.x86_vendor_id[0],
66 (unsigned int *)&boot_cpu_data.x86_vendor_id[8],
67 (unsigned int *)&boot_cpu_data.x86_vendor_id[4]);
68
69 /* get cpu type */
70 cpuid(1, &eax, &dummy, &dummy,
71 (unsigned int *) &boot_cpu_data.x86_capability);
72 boot_cpu_data.x86 = (eax >> 8) & 0xf;
73 boot_cpu_data.x86_model = (eax >> 4) & 0xf;
74 boot_cpu_data.x86_mask = eax & 0xf;
75}
76
77void __init x86_64_start_kernel(char * real_mode_data) 59void __init x86_64_start_kernel(char * real_mode_data)
78{ 60{
79 char *s; 61 char *s;
@@ -117,6 +99,5 @@ void __init x86_64_start_kernel(char * real_mode_data)
117 if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE) 99 if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE)
118 panic("Kernel too big for kernel mapping\n"); 100 panic("Kernel too big for kernel mapping\n");
119 101
120 setup_boot_cpu_data();
121 start_kernel(); 102 start_kernel();
122} 103}