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@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