Date: Fri, 26 Nov 2010 15:44:29 -0800 From: Doug Barton <dougb@FreeBSD.org> To: Attilio Rao <attilio@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r215868 - head/sys/dev/ichwd Message-ID: <4CF0465D.3040501@FreeBSD.org> In-Reply-To: <201011261535.oAQFZ8FT051259@svn.freebsd.org> References: <201011261535.oAQFZ8FT051259@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
The tinderbox seems to think that this broke the build. Doug On 11/26/2010 07:35, Attilio Rao wrote: > Author: attilio > Date: Fri Nov 26 15:35:08 2010 > New Revision: 215868 > URL: http://svn.freebsd.org/changeset/base/215868 > > Log: > - Advertise when the reboot came from a watchdog-induced reset. > - Fix a bug where TCO_BOOT_STS was supposed to be cleared after > TCO_SECOND_TO_STS and not before. > > Sponsored by: Sandvine Incorporated > Submitted by: Mark Johnston<mjohnston at sandvine dot com> > Reviewed by: des > MFC after: 10 days > > Modified: > head/sys/dev/ichwd/ichwd.c > > Modified: head/sys/dev/ichwd/ichwd.c > ============================================================================== > --- head/sys/dev/ichwd/ichwd.c Fri Nov 26 15:33:09 2010 (r215867) > +++ head/sys/dev/ichwd/ichwd.c Fri Nov 26 15:35:08 2010 (r215868) > @@ -225,12 +225,12 @@ ichwd_sts_reset(struct ichwd_softc *sc) > * by writing a 1, not a 0. > */ > ichwd_write_tco_2(sc, TCO1_STS, TCO_TIMEOUT); > - /* > - * XXX The datasheet says that TCO_SECOND_TO_STS must be cleared > - * before TCO_BOOT_STS, not the other way around. > + /* > + * According to Intel's docs, clearing SECOND_TO_STS and BOOT_STS must > + * be done in two separate operations. > */ > - ichwd_write_tco_2(sc, TCO2_STS, TCO_BOOT_STS); > ichwd_write_tco_2(sc, TCO2_STS, TCO_SECOND_TO_STS); > + ichwd_write_tco_2(sc, TCO2_STS, TCO_BOOT_STS); > } > > /* > @@ -520,11 +520,12 @@ ichwd_attach(device_t dev) > device_get_desc(dev), sc->ich_version); > > /* > - * XXX we should check the status registers (specifically, the > - * TCO_SECOND_TO_STS bit in the TCO2_STS register) to see if we > - * just came back from a watchdog-induced reset, and let the user > - * know. > + * Determine if we are coming up after a watchdog-induced reset. > + * This bit is cleared in ichwd_sts_reset(). > */ > + if ((ich_read_tco_2(sc, TCO2_STS)& TCO_SECOND_TO_STS) != 0) > + device_printf(dev, > + "resuming after hardware watchdog timeout\n"); > > /* reset the watchdog status registers */ > ichwd_sts_reset(sc); > -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CF0465D.3040501>