如何读取 x86 Linux 上的看门狗寄存器?

如何读取 x86 Linux 上的看门狗寄存器?

我想读取我的 Intel Lynx Point 系统上的 Intel iTCO 看门狗寄存器。我在这里找到了看门狗:

[ 5598.341020] iTCO_wdt iTCO_wdt.1.auto: Found a Lynx Point TCO device (Version=2, TCOBASE=0x1860)

它连接到ISA桥LPC控制器:

00:1f.0 ISA bridge: Intel Corporation H87 Express LPC Controller (rev 05)
    Subsystem: ASUSTeK Computer Inc. H87 Express LPC Controller
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Capabilities: [e0] Vendor Specific Information: Len=0c <?>
    Kernel driver in use: lpc_ich
    Kernel modules: lpc_ich

我找到了 ioports:

cat /proc/ioports | grep -i tco
1830-1833 : iTCO_wdt.1.auto
1830-1833 : iTCO_wdt
1860-187f : iTCO_wdt.1.auto
1860-187f : iTCO_wdt

我找到了 iomem:

cat /proc/iomem | grep -i wdt
fed1f410-fed1f414 : iTCO_wdt.0.auto

我尝试通过以下方式转储内存:

memtool md 0xfed1f410

然后我将超时设置为不同的值并再次比较寄存器:

wdctl -s 10
memtool md 0xfed1f410

一切都没有改变,这是为什么呢?我的方法有什么问题吗?

相关内容