void __init generic_identify(struct cpuinfo_x86 * c)
void __devinit generic_identify(struct cpuinfo_x86 * c)
void __init generic_identify(struct cpuinfo_x86 * c){	u32 tfms, xlvl;	int junk;	if (have_cpuid_p()) {		/* Get vendor name */		cpuid(0x00000000, &c->cpuid_level,		      (int *)&c->x86_vendor_id[0],		      (int *)&c->x86_vendor_id[8],		      (int *)&c->x86_vendor_id[4]);				get_cpu_vendor(c, 0);		/* Initialize the standard set of capabilities */		/* Note that the vendor-specific code below might override */			/* Intel-defined flags: level 0x00000001 */		if ( c->cpuid_level >= 0x00000001 ) {			u32 capability, excap;			cpuid(0x00000001, &tfms, &junk, &excap, &capability);			c->x86_capability[0] = capability;			c->x86_capability[4] = excap;			c->x86 = (tfms >> 8) & 15;			c->x86_model = (tfms >> 4) & 15;			if (c->x86 == 0xf) {				c->x86 += (tfms >> 20) & 0xff;				c->x86_model += ((tfms >> 16) & 0xF) << 4;			} 			c->x86_mask = tfms & 15;		} else {			/* Have CPUID level 0 only - unheard of */			c->x86 = 4;		}		/* AMD-defined flags: level 0x80000001 */		xlvl = cpuid_eax(0x80000000);		if ( (xlvl & 0xffff0000) == 0x80000000 ) {			if ( xlvl >= 0x80000001 ) {				c->x86_capability[1] = cpuid_edx(0x80000001);				c->x86_capability[6] = cpuid_ecx(0x80000001);			}			if ( xlvl >= 0x80000004 )				get_model_name(c); /* Default name */		}	}}