On Wednesday 01 October 2008 10:05:48 am Mike Tancsa wrote: > Does anyone have a board with this chipset where ichwd attaches properly ? > > When I try to load the driver I get > > ichwd module loaded > isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer > ichwd0: <Intel ICH9R watchdog timer> on isa0 > isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer > ichwd0: ICH WDT present but disabled in BIOS or hardware > device_attach: ichwd0 attach returned 6 > ppc0: parallel port not found. > > the ppc0 error seems normal, as on other boards I see the same error > and things attach just fine > > It is enabled in the BIOS as the box will automatically reboot after > 5 min, since the watchdog is not set by the OS Hmm, looks like the test to clear a bit is failing. Maybe some quality time with the ICH9 datasheet (you should be able to find it on developer.intel.com) can help resolve this. Here is the relevant code: static __inline int ichwd_clear_noreboot(struct ichwd_softc *sc) { uint32_t status; int rc = 0; /* try to clear the NO_REBOOT bit */ if (sc->ich_version <= 5) { status = pci_read_config(sc->ich, ICH_GEN_STA, 1); status &= ~ICH_GEN_STA_NO_REBOOT; pci_write_config(sc->ich, ICH_GEN_STA, status, 1); status = pci_read_config(sc->ich, ICH_GEN_STA, 1); if (status & ICH_GEN_STA_NO_REBOOT) rc = EIO; } else { status = ichwd_read_gcs_4(sc, 0); status &= ~ICH_GCS_NO_REBOOT; ichwd_write_gcs_4(sc, 0, status); status = ichwd_read_gcs_4(sc, 0); if (status & ICH_GCS_NO_REBOOT) rc = EIO; } if (rc) device_printf(sc->device, "ICH WDT present but disabled in BIOS or hardware\n"); return (rc); } -- John BaldwinReceived on Wed Oct 01 2008 - 17:19:17 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC