The printf used here are non standard. Ideally this printing is folded
into the attach line of piixpm(4), e.g:
piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMI, watchdog
Same for the 'watchdog caused previous restart'. I think the common idiom
is to print ', watchdog' and ', reboot on timeout' for the two cases.
Also move the if (val & AMDFCH41_WDTREG_CTL_FIRED) check after
if (val & AMDFCH41_WDTREG_CTL_DISABLED)
I think for watchdogs you need at least a DVACT_POWERDOWN activate handler
where wdog_shutdown() is called. Maybe more is needed for DVACT_SUSPEND
and DVACT_RESUME (stop wdog on suspend and restart wdog on resume).