Date: Sat, 25 Aug 2007 22:47:43 +0200 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no> To: Harald Schmalzbauer <h.schmalzbauer@omnisec.de> Cc: freebsd-current@freebsd.org Subject: Re: ichwd and teethless watchdogd Message-ID: <864pinmjdc.fsf@ds4.des.no> In-Reply-To: <200708252220.27373.h.schmalzbauer@omnisec.de> (Harald Schmalzbauer's message of "Sat\, 25 Aug 2007 22\:20\:21 %2B0200") References: <200708231028.07743.h.schmalzbauer@omnisec.de> <86r6lu1rms.fsf@ds4.des.no> <200708252220.27373.h.schmalzbauer@omnisec.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Harald Schmalzbauer <h.schmalzbauer@omnisec.de> writes:
> Here are the relevant lines:
>
> ichwd0: <Intel ICH7 watchdog timer> on isa0
> isab0: found ICH7 or equivalent chipset: Intel ICH7 watchdog timer
> ichwd0: Intel ICH7 watchdog timer (ICH7 or equivalent)
> ichwd0: timer disabled
>
> After watchdogd has started I get this message every second:
> ichwd0: timer reloaded
Looks fine so far. If you kill or suspend watchdogd, these messages
should stop, and the system should reboot after the timer expires twice
(the first time it expires, the chipset triggers an SMI; the second
time, it resets the CPU).
However, the timeout is probably not what you set it to; due to the
design of the watchdog framework, the timeout you specify is converted
to nanoseconds, the rounded up to the nearest power of two. The ICH WDT
has a resolution of approximately 0.6 seconds, and the driver rounds
down to that, so the actual timeout value you end up with is one of
0.6s, 1.8s, 4.2s, 8.4s, 16.8s, 34.2s, 68.4s, 137.4s, 274.8s... The
following C99 code will enumerate the possible values:
for (int i = 1; i < 64; ++i) {
uint64_t timeout = 1;
timeout <<= i;
timeout /= 600000000LLU;
timeout *= 600;
if (timeout > 0)
printf("%.1fs\n", (double)(timeout / 1000.0));
}
> I guess the ichwd is hardware disabled by the bios.
No, it isn't; the driver would tell you if that was the case. Something
else is wrong.
DES
--
Dag-Erling Smørgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?864pinmjdc.fsf>
