Quoting Ed Swierk eswierk@arastra.com:
On Sat, Mar 29, 2008 at 5:20 PM, joe@smittys.pointclark.net wrote:
After thinking about it..... What are the advantages of disabling the TCO timer (besides rebooting)? Doesn't the system need this to run properly? By setting the no reboot the timer is still running....does it need to be?
The point of the TCO timer is to let a system recover automatically by sending an interrupt and then rebooting if the OS crashes. While operating systems can crash for all sorts of reasons, coreboot code doesn't generally crash unless there's a hardware failure or misconfiguration that will not correct itself by rebooting. Thus it makes sense to disable the timer in coreboot and let a TCO-aware payload re-enable it.
The TCO timer has no other purpose that I'm aware of, so it doesn't matter whether coreboot neuters its effect by setting NO_REBOOT or halts it completely by setting TCO_TMR_HALT. Leaving the timer running still causes an interrupt to occur on timeout, but I think it's a no-op unless the OS is paying attention.
This document explains the TCO timer in more detail: ftp://download.intel.com/design/chipsets/applnots/29227301.pdf.
--Ed
Thanks for the explanation Ed. That makes perfect sense.
Thanks - Joe