ichwd: option to globally disable SMI

From: Andriy Gapon <avg_at_icyb.net.ua>
Date: Mon, 06 Apr 2009 17:28:03 +0300
Our ichwd driver attempts to disable TCO SMI generation to avoid potentially
unhelpful SMI handler's handling of watchdog timeout.

Recent ICH versions allow TCO SMI bit to be locked down (typically by BIOS), so
that it can not be changed later. ichwd driver at present doesn't check result of
changing the bit, so it doesn't report a failure.
If the bit is locked and SMI handler is indeed unhelpful the only remaining
possibility is to try to disable SMI completely. This bit too can be locked, but
there is a chance that it is not.

I am attaching a patch that makes ichwd check and report result of SMI bit
operations and also try to disable SMI globally if permitted by
hw.ichwd.use_global_smi tunable.

This patch could be useful to you if the following two conditions are met:
1. existing ichwd driver successfully attaches and does not produce any
errors/warnings;
2. kill -9 on watchdogd doesn't result in machine being rebooted after timeout;

I am using this patch on DG33TL motherboard for couple of weeks now. I do not see
any side-effects from disabling SMI and watchdog works as expected.

P.S. I tried to contact Intel's customer support about my problem and I was told
that watchdog is supported by Intel only on Extreme Edition motherboards, which my
motherboard is not. I wonder if anybody here uses FreeBSD with such a motherboard
and ichwd works properly indeed.

-- 
Andriy Gapon

Received on Mon Apr 06 2009 - 12:28:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:45 UTC