diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1997-09-18 16:01:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1997-09-18 16:01:52 +0000 |
commit | 6b4ca3125e022552c9b8e3747987267092efaf9e (patch) | |
tree | b97aae323eb7a762f3e90f2e4886578f230995b2 /c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c | |
parent | updated (diff) | |
download | rtems-6b4ca3125e022552c9b8e3747987267092efaf9e.tar.bz2 |
Merged changes from Eric Norum:
Enable 68360 watchdog. The watchdog control register is a
`write-once' register, so the watchdog has to be enabled in the boot
roms if it is to be used at all. To make the change transparent I
added a default feed of the watchdog to the clock interrupt handler.
This can be overridden if the application wants to handle the
watchdog. The only difficulty with this change is that an
application has to either include the clock driver or handle the
watchdog explicitely. I don't think this is much of a problem since
I am pretty sure that almost every application includes the clock
driver.
Diffstat (limited to 'c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c')
-rw-r--r-- | c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c b/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c index 041226f48b..c86427fc43 100644 --- a/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c +++ b/c/src/lib/libbsp/m68k/gen68360/clock/ckinit.c @@ -51,9 +51,12 @@ volatile rtems_unsigned32 Clock_driver_ticks; rtems_device_major_number rtems_clock_major = ~0; rtems_device_minor_number rtems_clock_minor; +char M360DefaultWatchdogFeeder = 1; + /* * Periodic interval timer interrupt handler */ + rtems_isr Clock_isr (rtems_vector_number vector) { @@ -64,6 +67,16 @@ Clock_isr (rtems_vector_number vector) m360.dpram0[0]; /* + * Feed the watchdog + * Application code can override this by + * setting M360DefaultWatchdogFeeder to zero. + */ + if (M360DefaultWatchdogFeeder) { + m360.swsr = 0x55; + m360.swsr = 0xAA; + } + + /* * Announce the clock tick */ Clock_driver_ticks++; |