Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t

2007-03-13 Thread Nick Hibma

Hi,
I think the issue is that in the commit you wiped out the part where the dog 
gets enabled ?


This diff against what you committed gets it working once again


Yes, the enable is missing. The (untested) fix should be:

--- ichwd.c~Tue Feb 20 23:56:27 2007
+++ ichwd.c Tue Mar 13 16:31:11 2007
@@ -183,8 +183,11 @@
timeout = ((uint64_t)1 << cmd) / ICHWD_TICK;
if (cmd > 0 && cmd <= 63
&& timeout >= ICHWD_MIN_TIMEOUT && timeout <= ICHWD_MAX_TIMEOUT) {
-   if (timeout != sc->timeout)
+   if (timeout != sc->timeout) {
+   if (!sc->active)
+   ichwd_tmr_enable(sc);
ichwd_tmr_set(sc, timeout);
+   }

ichwd_tmr_reload(sc);
*error = 0;


Nick




--- ichwd.c.old Tue Feb 20 17:56:27 2007
+++ ichwd.c Tue Mar 13 10:19:12 2007
@@ -178,6 +178,16 @@
   struct ichwd_softc *sc = arg;
   unsigned int timeout;

+/* disable / enable */
+if (!(cmd & WD_ACTIVE)) {
+if (sc->active)
+ichwd_tmr_disable(sc);
+*error = 0;
+return;
+}
+if (!sc->active)
+ichwd_tmr_enable(sc);
+
   /* convert from power-of-two-ns to WDT ticks */
   cmd &= WD_INTERVAL;
   timeout = ((uint64_t)1 << cmd) / ICHWD_TICK;
@@ -189,8 +199,6 @@
   ichwd_tmr_reload(sc);
   *error = 0;
   } else {
-   if (sc->active)
-   ichwd_tmr_disable(sc);
   if (cmd > 0)
   *error = EINVAL;
   }





---Mike

At 05:56 PM 2/20/2007, Nick Hibma wrote:

n_hibma 2007-02-20 22:56:29 UTC

  FreeBSD src repository

  Modified files:(Branch: RELENG_6)
share/man/man4   Makefile watchdog.4
share/man/man9   watchdog.9
sys/arm/xscale/i80321 i80321_wdog.c
sys/dev/ichwdichwd.c
sys/dev/ipmi ipmi.c
sys/dev/mk48txx  mk48txx.c
sys/dev/watchdog watchdog.c
sys/i386/i386elan-mmcr.c
sys/kern kern_clock.c
sys/sys  watchdog.h
usr.sbin/watchdogd   watchdog.8 watchdogd.c
  Log:
  MFC the following commits:

Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
  WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
  explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
  lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
  Don't roll your own passive watchdog tickle as this would defeat the
  purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
  WD_ACTIVE means active patting of the watchdog by a userland 
process,

  not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
  (software watchdog) Remove a check for WD_ACTIVE as this does not 
make

  sense here. This reverts r1.181.

Revision  ChangesPath
1.371 +1 -0  src/share/man/man4/Makefile
1.8   +69 -25src/share/man/man4/watchdog.4
1.4   +7 -1  src/share/man/man9/watchdog.9
1.3   +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
1.7   +12 -30src/sys/dev/ichwd/ichwd.c
1.8   +8 -17 src/sys/dev/ipmi/ipmi.c
1.8   +3 -1  src/sys/dev/mk48txx/mk48txx.c
1.4   +4 -1  src/sys/dev/watchdog/watchdog.c
1.33  +9 -9  src/sys/i386/i386/elan-mmcr.c
1.193 +3 -3  src/sys/kern/kern_clock.c
1.4   +0 -4  src/sys/sys/watchdog.h

  and

Don't exit from watchdogd on receiving a signal if we cannot stop the 
watchdog.

That'll require -KILL. This avoids resetting your system on one of the
watchdogs that you cannot disable.

Revision  ChangesPath
1.15  +18 -11src/usr.sbin/watchdogd/watchdogd.c

  Reviewed by:phk

  RevisionChangesPath
  1.320.2.25  +1 -0  src/share/man/man4/Makefile
  1.6.8.2 +69 -25src/share/man/man4/watchdog.4
  1.3.8.1 +7 -1  src/share/man/man9/watchdog.9
  1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
  1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c
  1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c
  1.6.2.2 +3 -1  src/sys/dev/mk48txx/mk48txx.c
  1.2.8.1 +9 -2  src/sys/dev/watchdog/watchdog.c
  1.31.2.2+9 -9  src/sys/i386/i386/elan-mmcr.c
  1.178.2.4   +3 -3  src/sys/kern/kern_clock.c
  1.3.8.1 +0 -4  src/sys/sys/watchdog.h
  1.6.2.1 +5 -4  src/usr.sbin/watchdogd/watchdog.8
  1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c
___
cvs-all@freebsd.org mailing list
http://lists.f

Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t

2007-03-13 Thread Mike Tancsa

At 05:42 PM 3/9/2007, Mike Tancsa wrote:


Hi,
The commit below to ichwd.c, breaks the watchdog on a 
number of Intel boards I tried it against. (ICH5 and ICH7)  The 
module loads, but the box never reboots after sending a sig 11 to watchdogd


ichwd module loaded
ichwd0:  on isa0


Reverting to the version of ichwd.c prior to your commit unbreaks it 
and the watchdog works once again in that the box reboots after 
killing watchdogd.


Hi,
I think the issue is that in the commit you wiped out the part where 
the dog gets enabled ?


This diff against what you committed gets it working once again


--- ichwd.c.old Tue Feb 20 17:56:27 2007
+++ ichwd.c Tue Mar 13 10:19:12 2007
@@ -178,6 +178,16 @@
struct ichwd_softc *sc = arg;
unsigned int timeout;

+/* disable / enable */
+if (!(cmd & WD_ACTIVE)) {
+if (sc->active)
+ichwd_tmr_disable(sc);
+*error = 0;
+return;
+}
+if (!sc->active)
+ichwd_tmr_enable(sc);
+
/* convert from power-of-two-ns to WDT ticks */
cmd &= WD_INTERVAL;
timeout = ((uint64_t)1 << cmd) / ICHWD_TICK;
@@ -189,8 +199,6 @@
ichwd_tmr_reload(sc);
*error = 0;
} else {
-   if (sc->active)
-   ichwd_tmr_disable(sc);
if (cmd > 0)
*error = EINVAL;
}





---Mike

At 05:56 PM 2/20/2007, Nick Hibma wrote:

n_hibma 2007-02-20 22:56:29 UTC

  FreeBSD src repository

  Modified files:(Branch: RELENG_6)
share/man/man4   Makefile watchdog.4
share/man/man9   watchdog.9
sys/arm/xscale/i80321 i80321_wdog.c
sys/dev/ichwdichwd.c
sys/dev/ipmi ipmi.c
sys/dev/mk48txx  mk48txx.c
sys/dev/watchdog watchdog.c
sys/i386/i386elan-mmcr.c
sys/kern kern_clock.c
sys/sys  watchdog.h
usr.sbin/watchdogd   watchdog.8 watchdogd.c
  Log:
  MFC the following commits:

Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
  WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
  explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
  lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
  Don't roll your own passive watchdog tickle as this would defeat the
  purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
  WD_ACTIVE means active patting of the watchdog by a userland process,
  not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
  (software watchdog) Remove a check for WD_ACTIVE as this does not make
  sense here. This reverts r1.181.

Revision  ChangesPath
1.371 +1 -0  src/share/man/man4/Makefile
1.8   +69 -25src/share/man/man4/watchdog.4
1.4   +7 -1  src/share/man/man9/watchdog.9
1.3   +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
1.7   +12 -30src/sys/dev/ichwd/ichwd.c
1.8   +8 -17 src/sys/dev/ipmi/ipmi.c
1.8   +3 -1  src/sys/dev/mk48txx/mk48txx.c
1.4   +4 -1  src/sys/dev/watchdog/watchdog.c
1.33  +9 -9  src/sys/i386/i386/elan-mmcr.c
1.193 +3 -3  src/sys/kern/kern_clock.c
1.4   +0 -4  src/sys/sys/watchdog.h

  and

Don't exit from watchdogd on receiving a signal if we cannot 
stop the watchdog.

That'll require -KILL. This avoids resetting your system on one of the
watchdogs that you cannot disable.

Revision  ChangesPath
1.15  +18 -11src/usr.sbin/watchdogd/watchdogd.c

  Reviewed by:phk

  RevisionChangesPath
  1.320.2.25  +1 -0  src/share/man/man4/Makefile
  1.6.8.2 +69 -25src/share/man/man4/watchdog.4
  1.3.8.1 +7 -1  src/share/man/man9/watchdog.9
  1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
  1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c
  1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c
  1.6.2.2 +3 -1  src/sys/dev/mk48txx/mk48txx.c
  1.2.8.1 +9 -2  src/sys/dev/watchdog/watchdog.c
  1.31.2.2+9 -9  src/sys/i386/i386/elan-mmcr.c
  1.178.2.4   +3 -3  src/sys/kern/kern_clock.c
  1.3.8.1 +0 -4  src/sys/sys/watchdog.h
  1.6.2.1 +5 -4  src/usr.sbin/watchdogd/watchdog.8
  1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c
___
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/m

Re: cvs commit: src/share/man/man4 Makefile watchdog.4 src/share/man/man9 watchdog.9 src/sys/arm/xscale/i80321 i80321_wdog.c src/sys/dev/ichwd ichwd.c src/sys/dev/ipmi ipmi.c src/sys/dev/mk48txx mk48t

2007-03-09 Thread Mike Tancsa


Hi,
The commit below to ichwd.c, breaks the watchdog on a number 
of Intel boards I tried it against. (ICH5 and ICH7)  The module 
loads, but the box never reboots after sending a sig 11 to watchdogd


ichwd module loaded
ichwd0:  on isa0


Reverting to the version of ichwd.c prior to your commit unbreaks it 
and the watchdog works once again in that the box reboots after 
killing watchdogd.


---Mike

At 05:56 PM 2/20/2007, Nick Hibma wrote:

n_hibma 2007-02-20 22:56:29 UTC

  FreeBSD src repository

  Modified files:(Branch: RELENG_6)
share/man/man4   Makefile watchdog.4
share/man/man9   watchdog.9
sys/arm/xscale/i80321 i80321_wdog.c
sys/dev/ichwdichwd.c
sys/dev/ipmi ipmi.c
sys/dev/mk48txx  mk48txx.c
sys/dev/watchdog watchdog.c
sys/i386/i386elan-mmcr.c
sys/kern kern_clock.c
sys/sys  watchdog.h
usr.sbin/watchdogd   watchdog.8 watchdogd.c
  Log:
  MFC the following commits:

Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
  WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
  explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
  lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
  Don't roll your own passive watchdog tickle as this would defeat the
  purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
  WD_ACTIVE means active patting of the watchdog by a userland process,
  not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
  (software watchdog) Remove a check for WD_ACTIVE as this does not make
  sense here. This reverts r1.181.

Revision  ChangesPath
1.371 +1 -0  src/share/man/man4/Makefile
1.8   +69 -25src/share/man/man4/watchdog.4
1.4   +7 -1  src/share/man/man9/watchdog.9
1.3   +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
1.7   +12 -30src/sys/dev/ichwd/ichwd.c
1.8   +8 -17 src/sys/dev/ipmi/ipmi.c
1.8   +3 -1  src/sys/dev/mk48txx/mk48txx.c
1.4   +4 -1  src/sys/dev/watchdog/watchdog.c
1.33  +9 -9  src/sys/i386/i386/elan-mmcr.c
1.193 +3 -3  src/sys/kern/kern_clock.c
1.4   +0 -4  src/sys/sys/watchdog.h

  and

Don't exit from watchdogd on receiving a signal if we cannot 
stop the watchdog.

That'll require -KILL. This avoids resetting your system on one of the
watchdogs that you cannot disable.

Revision  ChangesPath
1.15  +18 -11src/usr.sbin/watchdogd/watchdogd.c

  Reviewed by:phk

  RevisionChangesPath
  1.320.2.25  +1 -0  src/share/man/man4/Makefile
  1.6.8.2 +69 -25src/share/man/man4/watchdog.4
  1.3.8.1 +7 -1  src/share/man/man9/watchdog.9
  1.2.2.1 +15 -11src/sys/arm/xscale/i80321/i80321_wdog.c
  1.5.2.2 +12 -30src/sys/dev/ichwd/ichwd.c
  1.3.2.5 +6 -17 src/sys/dev/ipmi/ipmi.c
  1.6.2.2 +3 -1  src/sys/dev/mk48txx/mk48txx.c
  1.2.8.1 +9 -2  src/sys/dev/watchdog/watchdog.c
  1.31.2.2+9 -9  src/sys/i386/i386/elan-mmcr.c
  1.178.2.4   +3 -3  src/sys/kern/kern_clock.c
  1.3.8.1 +0 -4  src/sys/sys/watchdog.h
  1.6.2.1 +5 -4  src/usr.sbin/watchdogd/watchdog.8
  1.10.2.2+19 -13src/usr.sbin/watchdogd/watchdogd.c
___
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"