[PATCH for review] [88/145] x86_64: Use early CPU identify before early command line parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



r

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 <[email protected]>

---
 arch/x86_64/kernel/head64.c |   19 -------------------
 arch/x86_64/kernel/setup.c  |    4 ++--
 2 files changed, 2 insertions(+), 21 deletions(-)

Index: linux/arch/x86_64/kernel/head64.c
===================================================================
--- linux.orig/arch/x86_64/kernel/head64.c
+++ linux/arch/x86_64/kernel/head64.c
@@ -56,24 +56,6 @@ static void __init copy_bootdata(char *r
 	printk("Bootdata ok (command line is %s)\n", saved_command_line);	
 }
 
-static void __init setup_boot_cpu_data(void)
-{
-	unsigned int dummy, eax;
-
-	/* get vendor info */
-	cpuid(0, (unsigned int *)&boot_cpu_data.cpuid_level,
-	      (unsigned int *)&boot_cpu_data.x86_vendor_id[0],
-	      (unsigned int *)&boot_cpu_data.x86_vendor_id[8],
-	      (unsigned int *)&boot_cpu_data.x86_vendor_id[4]);
-
-	/* get cpu type */
-	cpuid(1, &eax, &dummy, &dummy,
-		(unsigned int *) &boot_cpu_data.x86_capability);
-	boot_cpu_data.x86 = (eax >> 8) & 0xf;
-	boot_cpu_data.x86_model = (eax >> 4) & 0xf;
-	boot_cpu_data.x86_mask = eax & 0xf;
-}
-
 void __init x86_64_start_kernel(char * real_mode_data)
 {
 	char *s;
@@ -117,6 +99,5 @@ void __init x86_64_start_kernel(char * r
 	if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE)
 		panic("Kernel too big for kernel mapping\n");
 
-	setup_boot_cpu_data();
 	start_kernel();
 }
Index: linux/arch/x86_64/kernel/setup.c
===================================================================
--- linux.orig/arch/x86_64/kernel/setup.c
+++ linux/arch/x86_64/kernel/setup.c
@@ -547,10 +547,10 @@ void __init setup_arch(char **cmdline_p)
 	data_resource.start = virt_to_phys(&_etext);
 	data_resource.end = virt_to_phys(&_edata)-1;
 
-	parse_cmdline_early(cmdline_p);
-
 	early_identify_cpu(&boot_cpu_data);
 
+	parse_cmdline_early(cmdline_p);
+
 	/*
 	 * partially used pages are not usable - thus
 	 * we are rounding upwards:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux