• Yasuaki Ishimatsu's avatar
    x86: fix debug message of CPU clock speed · 754ef0cd
    Yasuaki Ishimatsu authored
    Impact: Fixes incorrect printk
    
    LOCAL APIC is corrected by PM-Timer, when SMI occurred while LOCAL APIC is calibrated.
    In this case, LOCAL APIC debug message(Boot with apic=debug) is displayed correctly,
    however, CPU clock speed debug message is displayed wrongly .
    
    When SMI occured on my machine, which has 1.6GHz CPU, CPU clock speed is displayed
    3622.0205 MHz as follow.
    
    	CPU0: Intel(R) Xeon(R) CPU            5110  @ 1.60GHz stepping 06
    	Using local APIC timer interrupts.
    	calibrating APIC timer ...
    	... lapic delta = 3773130
    	... PM timer delta = 812434
    	APIC calibration not consistent with PM Timer: 226ms instead of 100ms
    	APIC delta adjusted to PM-Timer: 1662420 (3773130)
    	..... delta 1662420
    	..... mult: 71411249
    	..... calibration result: 265987
    	..... CPU clock speed is 3622.0205 MHz.  =====>  here
    	..... host bus clock speed is 265.0987 MHz.
    
    This patch fixes to displaying CPU clock speed correctly as follow.
    
    	CPU0: Intel(R) Xeon(R) CPU            5110  @ 1.60GHz stepping 06
    	Using local APIC timer interrupts.
    	calibrating APIC timer ...
    	... lapic delta = 3773131
    	... PM timer delta = 812434
    	APIC calibration not consistent with PM Timer: 226ms instead of 100ms
    	APIC delta adjusted to PM-Timer: 1662420 (3773131)
    	TSC delta adjusted to PM-Timer: 159592409 (362220564)
    	..... delta 1662420
    	..... mult: 71411249
    	..... calibration result: 265987
    	..... CPU clock speed is 1595.0924 MHz.
    	..... host bus clock speed is 265.0987 MHz.
    Signed-off-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
    754ef0cd
apic.c 52.6 KB