/* A K7 with powernow technology is set to max frequency by BIOS */ fsb = (10 * cpu_khz) / fid_codes[fidvidstatus.bits.MFID]; 
/* recalibrate cpu_khz */ result = recalibrate_cpu_khz(); if (result) return result;  fsb = (10 * cpu_khz) / fid_codes[fidvidstatus.bits.CFID]; 
static int __init powernow_cpu_init (struct cpufreq_policy *policy){	union msr_fidvidstatus fidvidstatus;	int result;	if (policy->cpu != 0)		return -ENODEV;	rdmsrl (MSR_K7_FID_VID_STATUS, fidvidstatus.val);	/* A K7 with powernow technology is set to max frequency by BIOS */	fsb = (10 * cpu_khz) / fid_codes[fidvidstatus.bits.MFID];	if (!fsb) {		printk(KERN_WARNING PFX "can not determine bus frequency\n");		return -EINVAL;	}	dprintk("FSB: %3dMHz\n", fsb/1000);	if (dmi_check_system(powernow_dmi_table) || acpi_force) {		printk (KERN_INFO PFX "PSB/PST known to be broken.  Trying ACPI instead\n");		result = powernow_acpi_init();	} else {		result = powernow_decode_bios(fidvidstatus.bits.MFID, fidvidstatus.bits.SVID);		if (result) {			printk (KERN_INFO PFX "Trying ACPI perflib\n");			maximum_speed = 0;			minimum_speed = -1;			latency = 0;			result = powernow_acpi_init();			if (result) {				printk (KERN_INFO PFX "ACPI and legacy methods failed\n");				printk (KERN_INFO PFX "See http://www.codemonkey.org.uk/projects/cpufreq/powernow-k7.shtml\n");			}		} else {			/* SGTC use the bus clock as timer */			latency = fixup_sgtc();			printk(KERN_INFO PFX "SGTC: %d\n", latency);		}	}	if (result)		return result;	printk (KERN_INFO PFX "Minimum speed %d MHz. Maximum speed %d MHz.\n",				minimum_speed/1000, maximum_speed/1000);	policy->governor = CPUFREQ_DEFAULT_GOVERNOR;	policy->cpuinfo.transition_latency = cpufreq_scale(2000000UL, fsb, latency);	policy->cur = powernow_get(0);	cpufreq_frequency_table_get_attr(powernow_table, policy->cpu);	return cpufreq_frequency_table_cpuinfo(policy, powernow_table);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/91350ed49bf3613e243c2e216228cd4ae8f32516/powernow-k7.c/buggy/arch/i386/kernel/cpu/cpufreq/powernow-k7.c