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

iport를 찾았습니다.

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

아무것도 변한 게 없는데 왜? 내 접근 방식에 문제가 있습니까?

관련 정보