Calibration issues with USB disc present.

From: George Anzinger
Date: Fri Nov 11 2005 - 16:36:51 EST


John,

Have you run into this. One of the USB disc controllers has the ability to boot the system, however, it needs SMM code to do this. This SMM code, somehow, causes SMI interrupts (which are higher priority than NMI interrutps and not maskable) which it needs to do its thing.

Problem is that if one of these occurs while calibrating the TSC or the delay code, it can cause a wrong result. We have seen both a too long and a too short result (depending on where the interrut happens).

They have found the root cause of TSC calibration problem.
Now they ask for the fix or workaround.

That is the BIOS is periodically interrupted by USB controller and the CPU
waits during the processing of these interrupts.
Their experiments say the interrupt interval is 260mSec and the BIOS needs
150uSec - 200uSec for processing.
It is proved that the problem doesn't reproduce by masking such SMI in BIOS.
They say SMI is for BIOS emulation for connecting legacy devices to USB.
Without such an emulation it's impossible to boot from USB-FD for instance,
they say too.


--
George Anzinger george@xxxxxxxxxx
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/