Date: Sun, 15 Mar 2009 14:57:23 +0100 From: Harald Schmalzbauer <h.schmalzbauer@OmniLAN.de> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-current@freebsd.org, Mike Tancsa <mike@sentex.net> Subject: Re: ichwd on ich9 attach failing ? Message-ID: <49BD0943.3000400@OmniLAN.de> In-Reply-To: <200810011121.21908.jhb@freebsd.org> References: <200810011405.m91E5ugg028685@lava.sentex.ca> <200810011121.21908.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigACA15CBDE14209CAD538C809
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
John Baldwin schrieb am 01.10.2008 17:21 (localtime):
> On Wednesday 01 October 2008 10:05:48 am Mike Tancsa wrote:
>> Does anyone have a board with this chipset where ichwd attaches proper=
ly ?
>>
>> 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=20
>> and things attach just fine
>>
>> It is enabled in the BIOS as the box will automatically reboot after=20
>> 5 min, since the watchdog is not set by the OS
>=20
> Hmm, looks like the test to clear a bit is failing. Maybe some quality=
time=20
> with the ICH9 datasheet (you should be able to find it on=20
> developer.intel.com) can help resolve this. Here is the relevant code:=
>=20
> static __inline int
> ichwd_clear_noreboot(struct ichwd_softc *sc)
> {
> uint32_t status;
> int rc =3D 0;
>=20
> /* try to clear the NO_REBOOT bit */
> if (sc->ich_version <=3D 5) {
> status =3D pci_read_config(sc->ich, ICH_GEN_STA, 1);
> status &=3D ~ICH_GEN_STA_NO_REBOOT;
> pci_write_config(sc->ich, ICH_GEN_STA, status, 1);
> status =3D pci_read_config(sc->ich, ICH_GEN_STA, 1);
> if (status & ICH_GEN_STA_NO_REBOOT)
> rc =3D EIO;
> } else {
> status =3D ichwd_read_gcs_4(sc, 0);
> status &=3D ~ICH_GCS_NO_REBOOT;
> ichwd_write_gcs_4(sc, 0, status);
> status =3D ichwd_read_gcs_4(sc, 0);
> if (status & ICH_GCS_NO_REBOOT)
> rc =3D EIO;
> }
>=20
> if (rc)
> device_printf(sc->device,
> "ICH WDT present but disabled in BIOS or hardware\n");
>=20
> return (rc);
> }
Hello,
has anybody had time to look at it? I have a new server board with ich9=20
and can't any longer use the watchdog. Unfortunately I'm not able to=20
solve it myself.
Any help appreciated.
Best regards,
-Harry
--------------enigACA15CBDE14209CAD538C809
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (FreeBSD)
iEYEARECAAYFAkm9CVQACgkQLDqVQ9VXb8hFPACcDpFnOqkyHy1W0eAzNjNqS4ty
MqYAnilm8txsFh2kYSIxKIggTZnrRU+2
=mSaa
-----END PGP SIGNATURE-----
--------------enigACA15CBDE14209CAD538C809--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49BD0943.3000400>
