Skip site navigation (1)Skip section navigation (2)
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>