diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index c091fa1..7ba4435 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -673,7 +673,7 @@
 {
 	unsigned int *v;
 
-	if (c->x86_cpuid_level < 0x80000004)
+	if (c->extended_cpuid_level < 0x80000004)
 		return 0;
 
 	v = (unsigned int *) c->x86_model_id;
@@ -689,7 +689,7 @@
 {
 	unsigned int n, dummy, eax, ebx, ecx, edx;
 
-	n = c->x86_cpuid_level;
+	n = c->extended_cpuid_level;
 
 	if (n >= 0x80000005) {
 		cpuid(0x80000005, &dummy, &ebx, &ecx, &edx);
@@ -781,7 +781,7 @@
 	} 
 	display_cacheinfo(c);
 
-	if (c->x86_cpuid_level >= 0x80000008) {
+	if (c->extended_cpuid_level >= 0x80000008) {
 		c->x86_num_cores = (cpuid_ecx(0x80000008) & 0xff) + 1;
 		if (c->x86_num_cores & (c->x86_num_cores - 1))
 			c->x86_num_cores = 1;
@@ -841,7 +841,6 @@
 		if (smp_num_siblings & (smp_num_siblings - 1))
 			index_msb++;
 
-		/* RED-PEN surely this must run in the non HT case too! -AK */
 		cpu_core_id[cpu] = phys_pkg_id(index_msb);
 
 		if (c->x86_num_cores > 1)
@@ -878,7 +877,7 @@
 	unsigned n;
 
 	init_intel_cacheinfo(c);
-	n = c->x86_cpuid_level;
+	n = c->extended_cpuid_level;
 	if (n >= 0x80000008) {
 		unsigned eax = cpuid_eax(0x80000008);
 		c->x86_virt_bits = (eax >> 8) & 0xff;
@@ -927,7 +926,7 @@
 	c->x86_cache_alignment = c->x86_clflush_size;
 	c->x86_num_cores = 1;
 	c->x86_apicid = c == &boot_cpu_data ? 0 : c - cpu_data;
-	c->x86_cpuid_level = 0;
+	c->extended_cpuid_level = 0;
 	memset(&c->x86_capability, 0, sizeof c->x86_capability);
 
 	/* Get vendor name */
@@ -974,7 +973,7 @@
 
 	/* AMD-defined flags: level 0x80000001 */
 	xlvl = cpuid_eax(0x80000000);
-	c->x86_cpuid_level = xlvl;
+	c->extended_cpuid_level = xlvl;
 	if ((xlvl & 0xffff0000) == 0x80000000) {
 		if (xlvl >= 0x80000001) {
 			c->x86_capability[1] = cpuid_edx(0x80000001);
diff --git a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h
index 45ab74e..f0581c3 100644
--- a/include/asm-x86_64/processor.h
+++ b/include/asm-x86_64/processor.h
@@ -64,7 +64,7 @@
 	__u8	x86_num_cores;
 	__u8	x86_apicid;
         __u32   x86_power; 	
-	__u32   x86_cpuid_level;	/* Max CPUID function supported */
+	__u32   extended_cpuid_level;	/* Max extended CPUID function supported */
 	unsigned long loops_per_jiffy;
 } ____cacheline_aligned;
 
