how to find last reboot caused by TCO watchdog
hi Team,
We use intel TCO hardware watchdog to recover the system from unexpected software hangs and hardware issues. We have a requirement to show TCO watchdog caused last reboot. Intel spec says, TCO1_STS and TCO2_STS register has the bits set if watchdog resets the CPU. We do observe the same in our testing. But during iTCO driver initialization in iTCO_wdt_probe(). This puts a limitation in reading the reason for previous reboot. - Is there any other way to find previous reboot caused by watchdog? - Can be the value of TCO_STS registers saved in RAM before clearing it? This would help us to find that the cpu was reset by watchdog during previous run. static int iTCO_wdt_probe(struct platform_device *pdev) { ... ... switch (p->iTCO_version) { case 5: case 4: outw(0x0008, TCO1_STS(p)); /* Clear the Time Out Status bit */ outw(0x0002, TCO2_STS(p)); /* Clear SECOND_TO_STS bit */ break; case 3: outl(0x20008, TCO1_STS(p)); break; case 2: case 1: default: outw(0x0008, TCO1_STS(p)); /* Clear the Time Out Status bit */ outw(0x0002, TCO2_STS(p)); /* Clear SECOND_TO_STS bit */ outw(0x0004, TCO2_STS(p)); /* Clear BOOT_STS bit */ break; } Thanks and Regards, Arul |
All times are GMT -5. The time now is 11:39 AM. |