ichwd problem: watchdog doesn't "bark"

Andriy Gapon avg at icyb.net.ua
Thu Dec 4 10:41:18 PST 2008


on 28/11/2008 16:28 Andriy Gapon said the following:
> uname:
> FreeBSD 7.1-PRERELEASE r185311 amd64
> 
> dmesg:
> ichwd0: <Intel ICH9R watchdog timer> on isa0
> ichwd0: Intel ICH9R watchdog timer (ICH9 or equivalent)
> ichwd0: timer disabled
> 
> pciconf:
> isab0 at pci0:0:31:0:      class=0x060100 card=0x50448086 chip=0x29168086
> rev=0x02 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82801IR (ICH9R) LPC Interface Controller'
>     class      = bridge
>     subclass   = PCI-ISA
> 
> 
> When I start watchdogd I see the following messages:
> timer enabled
> timeout set to 28 ticks
> and then a flow of messages:
> timer reloaded
> 
> Then I kill -9 watchdogd.
> "timer reloded" messages are no longer produced.
> And there are no other messages.
> 
> But nothing happens for many minutes that I waited.
> 

BTW, can someone knowledgeable tell me if watchdog better be firing SMI
or NMI when it runs down?
My bet is on NMI, but who knows.
Thanks!

Or maybe I am trying to ask a different question.
I see that NMI2SMI_EN bit of TCO1_CNT is set 1 on my machine and our
watchdog driver is careful to preserve this bit unmodified.
This means that watchdog would try to cause SMI instead of NMI.
On the other hand I see that bit GBL_SMI_EN of SMI_EN is set to zero,
which means that chipset would never generate an SMI.
So I think this is why I don't see anything happening.

Now, would should try first - reset NMI2SMI_EN to zero or set GBL_SMI_EN
to 1?

As additional data points: I see that TCO_EN bit of SMI_EN is 1 and it
is locked to that value because TCO_LOCK bit of TCO1_CNT is 1.
SMI_LOCK in PCI config register GEN_PMCON_1 is not set.

-- 
Andriy Gapon


More information about the freebsd-hackers mailing list