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/

_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to