It works great to test out the wd timer. First off, the offsets above have to be applied to a base address, which tmk found to be 0xf1000000 at least in his case, & I found it's the case on my plug too. To cut to the chase:

So that defaults to 0x7fffffff and it's not counting down. Setting the timer enable bit will start the countdown:

# ./devmem2 0xf1020300 w 0x17

That sets the timer wd enable bit 0x10 (along with 0x7 set by default)

Now executing "./devmem2 0xf1020324 w" will show the timer counting down until it hits zero and stops (about 10 seconds). Luckily the wd reset isn't enabled yet. Starting from 0xffffffff affords about 20 seconds before the timer expires:

# ./devmem2 0xf1020324 w 0xffffffff

To cause a reset on timer expiration:

# ./devmem2 0xf1020108 w 0x2

Believe me, it will reset the sheevaplug when the timer expires, or immediately if the timer is already zero!

So anyway, a quick-and-dirty watchdog timer could be made from this code, say, resetting the timer every 5 seconds.

I would concur that a kernel solution is ultimately the only way to go, but if anyone needs a user-level implementation in the interim, here is a link to the source I threw together for my Plug. It has been running for 24 hours here without any problems: