Subject: Re: kern/32766 (Patch: Sleeps wd disks before switching off)
To: None <gnats-bugs@netbsd.org>
From: Cherry G. Mathew <cherry.g.mathew@gmail.com>
List: netbsd-bugs
Date: 03/17/2007 02:11:53
On 4/5/06, simonb@netbsd.org <simonb@netbsd.org> wrote:
> Synopsis: Patch: Sleeps wd disks before switching off
>
> State-Changed-From-To: closed->open
> State-Changed-By: simonb@netbsd.org
> State-Changed-When: Wed, 05 Apr 2006 03:18:45 +0000
> State-Changed-Why:
> Patch backed-out pending further proposals and/or discussion.
>
>
>
>

Ok. Here's a set of patches towards fixing this. I'm sorry its long,
noone offered me webspace :-)

Could someone test this for me please ?

Cheers,

Cherry.







Index: systm.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/sys/systm.h,v
retrieving revision 1.196
diff -u -r1.196 systm.h
--- systm.h=094 Mar 2007 06:03:42 -0000=091.196
+++ systm.h=0917 Mar 2007 01:57:42 -0000
@@ -288,9 +288,9 @@
  * Shutdown hooks.  Functions to be run with all interrupts disabled
  * immediately before the system is halted or rebooted.
  */
-void=09*shutdownhook_establish(void (*)(void *), void *);
+void=09*shutdownhook_establish(void (*)(int, void *), void *);
 void=09shutdownhook_disestablish(void *);
-void=09doshutdownhooks(void);
+void=09doshutdownhooks(int);

 /*
  * Power management hooks.

Index: kern_subr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/kern/kern_subr.c,v
retrieving revision 1.156
diff -u -r1.156 kern_subr.c
--- kern_subr.c=098 Mar 2007 21:25:27 -0000=091.156
+++ kern_subr.c=0917 Mar 2007 01:27:58 -0000
@@ -510,18 +510,48 @@
  * it won't be run again.
  */

-static hook_list_t shutdownhook_list;
+struct shutdownhook_desc {
+=09LIST_ENTRY(shutdownhook_desc) shk_list;
+=09void=09(*shk_fn)(int, void *);
+=09void=09*shk_arg;
+};
+
+static LIST_HEAD(, shutdownhook_desc) shutdownhook_list =3D
+    LIST_HEAD_INITIALIZER(shutdownhook_list);

 void *
-shutdownhook_establish(void (*fn)(void *), void *arg)
+shutdownhook_establish(void (*fn)(int, void *), void *arg)
 {
-=09return hook_establish(&shutdownhook_list, fn, arg);
+=09struct shutdownhook_desc *hd;
+
+=09hd =3D malloc(sizeof(*hd), M_DEVBUF, M_NOWAIT);
+=09if (hd =3D=3D NULL)
+=09=09return (NULL);
+
+=09hd->shk_fn =3D fn;
+=09hd->shk_arg =3D arg;
+=09LIST_INSERT_HEAD(&shutdownhook_list, hd, shk_list);
+
+=09return (hd);
 }

 void
 shutdownhook_disestablish(void *vhook)
 {
-=09hook_disestablish(&shutdownhook_list, vhook);
+#ifdef DIAGNOSTIC
+=09struct shutdownhook_desc *hd;
+
+=09LIST_FOREACH(hd, &shutdownhook_list, shk_list) {
+                if (hd =3D=3D vhook)
+=09=09=09break;
+=09}
+
+=09if (hd =3D=3D NULL)
+=09=09panic("hook_disestablish: hook %p not established", vhook);
+#endif
+=09LIST_REMOVE((struct shutdownhook_desc *)vhook, shk_list);
+=09free(vhook, M_DEVBUF);
+
 }

 /*
@@ -533,13 +563,12 @@
  * it won't be run again.
  */
 void
-doshutdownhooks(void)
+doshutdownhooks(int howto)
 {
-=09struct hook_desc *dp;
+=09struct shutdownhook_desc *dp;

-=09while ((dp =3D LIST_FIRST(&shutdownhook_list)) !=3D NULL) {
-=09=09LIST_REMOVE(dp, hk_list);
-=09=09(*dp->hk_fn)(dp->hk_arg);
+=09LIST_FOREACH(dp, &shutdownhook_list, shk_list) {
+=09=09(*dp->shk_fn)(howto, dp->shk_arg);
 #if 0
 =09=09/*
 =09=09 * Don't bother freeing the hook structure,, since we may


Index: ld.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ld.c,v
retrieving revision 1.46
diff -u -r1.46 ld.c
--- ld.c=094 Mar 2007 06:01:42 -0000=091.46
+++ ld.c=0917 Mar 2007 01:33:35 -0000
@@ -75,7 +75,7 @@
 static void=09ldgetdefaultlabel(struct ld_softc *, struct disklabel *);
 static void=09ldgetdisklabel(struct ld_softc *);
 static void=09ldminphys(struct buf *bp);
-static void=09ldshutdown(void *);
+static void=09ldshutdown(int, void *);
 static void=09ldstart(struct ld_softc *, struct buf *);
 static void=09ld_set_properties(struct ld_softc *);
 static void=09ld_config_interrupts (struct device *);
@@ -265,7 +265,7 @@

 /* ARGSUSED */
 static void
-ldshutdown(void *cookie)
+ldshutdown(int why, void *cookie)
 {
 =09struct ld_softc *sc;
 =09int i;
Index: acpi/acpi.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.101
diff -u -r1.101 acpi.c
--- acpi/acpi.c=0919 Feb 2007 22:31:05 -0000=091.101
+++ acpi/acpi.c=0917 Mar 2007 01:33:35 -0000
@@ -166,7 +166,7 @@
 /*
  * Prototypes.
  */
-static void=09=09acpi_shutdown(void *);
+static void=09=09acpi_shutdown(int, void *);
 static void=09=09acpi_build_tree(struct acpi_softc *);
 static ACPI_STATUS=09acpi_make_devnode(ACPI_HANDLE, UINT32, void *, void *=
*);

@@ -423,7 +423,7 @@
  *=09might confuse us.
  */
 static void
-acpi_shutdown(void *arg)
+acpi_shutdown(int why, void *arg)
 {
 =09/* nothing */
 }
Index: ata/wd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ata/wd.c,v
retrieving revision 1.337
diff -u -r1.337 wd.c
--- ata/wd.c=094 Mar 2007 06:01:44 -0000=091.337
+++ ata/wd.c=0917 Mar 2007 01:33:37 -0000
@@ -91,6 +91,7 @@
 #include <sys/syslog.h>
 #include <sys/proc.h>
 #include <sys/vnode.h>
+#include <sys/reboot.h>
 #if NRND > 0
 #include <sys/rnd.h>
 #endif
@@ -193,7 +194,7 @@
 int   wd_get_params(struct wd_softc *, u_int8_t, struct ataparams *);
 int   wd_standby(struct wd_softc *, int);
 int   wd_flushcache(struct wd_softc *, int);
-void  wd_shutdown(void *);
+void  wd_shutdown(int, void *);

 int   wd_getcache(struct wd_softc *, int *);
 int   wd_setcache(struct wd_softc *, int);
@@ -1907,10 +1908,12 @@
 }

 void
-wd_shutdown(void *arg)
+wd_shutdown(int why, void *arg)
 {
 =09struct wd_softc *wd =3D arg;
 =09wd_flushcache(wd, AT_POLL);
+=09if (why & RB_POWERDOWN)
+=09=09wd_standby(wd, AT_POLL);
 }

 /*
Index: bi/if_ni.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/bi/if_ni.c,v
retrieving revision 1.30
diff -u -r1.30 if_ni.c
--- bi/if_ni.c=098 Mar 2007 23:17:56 -0000=091.30
+++ bi/if_ni.c=0917 Mar 2007 01:33:37 -0000
@@ -149,7 +149,7 @@
 static=09int=09ni_add_rxbuf(struct ni_softc *, struct ni_dg *, int);
 static=09void=09ni_setup(struct ni_softc *);
 static=09void=09nitimeout(struct ifnet *);
-static=09void=09ni_shutdown(void *);
+static=09void=09ni_shutdown(int, void *);
 static=09void ni_getpgs(struct ni_softc *sc, int size, void **v, paddr_t *=
p);
 static=09int failtest(struct ni_softc *, int, int, int, const char *);

@@ -891,7 +891,8 @@
  * Shutdown hook.  Make sure the interface is stopped at reboot.
  */
 void
-ni_shutdown(arg)
+ni_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct ni_softc *sc =3D arg;
Index: cardbus/if_ath_cardbus.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/cardbus/if_ath_cardbus.c,v
retrieving revision 1.18
diff -u -r1.18 if_ath_cardbus.c
--- cardbus/if_ath_cardbus.c=0916 Nov 2006 01:32:48 -0000=091.18
+++ cardbus/if_ath_cardbus.c=0917 Mar 2007 01:33:37 -0000
@@ -248,7 +248,7 @@
 }

 void
-ath_cardbus_shutdown(void *arg)
+ath_cardbus_shutdown(int why, void *arg)
 {
 =09struct ath_cardbus_softc *csc;

Index: eisa/if_fea.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/eisa/if_fea.c,v
retrieving revision 1.34
diff -u -r1.34 if_fea.c
--- eisa/if_fea.c=094 Mar 2007 06:01:46 -0000=091.34
+++ eisa/if_fea.c=0917 Mar 2007 01:33:37 -0000
@@ -442,6 +442,16 @@
 #endif /* __bsdi__ */
 =0C
 #if defined(__NetBSD__)
+
+static void pdq_eisa_shutdown(int, void *); /* prototype */
+
+static void
+pdq_eisa_shutdown(int why,
+=09=09  void *arg)
+{
+    pdq_hwreset(arg);
+}
+
 static int
 pdq_eisa_match(
     struct device *parent,
@@ -519,7 +529,7 @@
 =09printf("\n");
 =09return;
     }
-    sc->sc_ats =3D shutdownhook_establish((void (*)(void *))
pdq_hwreset, sc->sc_pdq);
+    sc->sc_ats =3D shutdownhook_establish(pdq_eisa_shutdown, sc->sc_pdq);
     if (sc->sc_ats =3D=3D NULL)
 =09printf("%s: warning: couldn't establish shutdown hook\n", self->dv_xnam=
e);
     if (sc->sc_csrtag !=3D sc->sc_iotag)
Index: i2o/iop.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/i2o/iop.c,v
retrieving revision 1.64
diff -u -r1.64 iop.c
--- i2o/iop.c=094 Mar 2007 06:01:47 -0000=091.64
+++ i2o/iop.c=0917 Mar 2007 01:33:38 -0000
@@ -228,7 +228,7 @@
 static void=09iop_configure_devices(struct iop_softc *, int, int);
 static void=09iop_devinfo(int, char *, size_t);
 static int=09iop_print(void *, const char *);
-static void=09iop_shutdown(void *);
+static void=09iop_shutdown(int, void *);

 static void=09iop_adjqparam(struct iop_softc *, int);
 static void=09iop_create_reconf_thread(void *);
@@ -905,7 +905,7 @@
  * Shut down all configured IOPs.
  */
 static void
-iop_shutdown(void *junk)
+iop_shutdown(int why, void *junk)
 {
 =09struct iop_softc *sc;
 =09int i;
Index: ic/aac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aac.c,v
retrieving revision 1.30
diff -u -r1.30 aac.c
--- ic/aac.c=094 Mar 2007 06:01:48 -0000=091.30
+++ ic/aac.c=0917 Mar 2007 01:33:38 -0000
@@ -105,7 +105,7 @@
 static void=09aac_host_response(struct aac_softc *);
 static int=09aac_init(struct aac_softc *);
 static int=09aac_print(void *, const char *);
-static void=09aac_shutdown(void *);
+static void=09aac_shutdown(int, void *);
 static void=09aac_startup(struct aac_softc *);
 static int=09aac_sync_command(struct aac_softc *, u_int32_t, u_int32_t,
 =09=09=09=09 u_int32_t, u_int32_t, u_int32_t, u_int32_t *);
@@ -693,7 +693,7 @@
 }

 static void
-aac_shutdown(void *cookie)
+aac_shutdown(int why, void *cookie)
 {
 =09struct aac_softc *sc;
 =09struct aac_close_command cc;
Index: ic/aic6915.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aic6915.c,v
retrieving revision 1.16
diff -u -r1.16 aic6915.c
--- ic/aic6915.c=094 Mar 2007 06:01:48 -0000=091.16
+++ ic/aic6915.c=0917 Mar 2007 01:33:39 -0000
@@ -82,7 +82,7 @@
 static int=09sf_init(struct ifnet *);
 static void=09sf_stop(struct ifnet *, int);

-static void=09sf_shutdown(void *);
+static void=09sf_shutdown(int, void *);

 static void=09sf_txintr(struct sf_softc *);
 static void=09sf_rxintr(struct sf_softc *);
@@ -340,7 +340,7 @@
  *=09Shutdown hook -- make sure the interface is stopped at reboot.
  */
 static void
-sf_shutdown(void *arg)
+sf_shutdown(int why, void *arg)
 {
 =09struct sf_softc *sc =3D arg;

Index: ic/aic79xx.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aic79xx.c,v
retrieving revision 1.37
diff -u -r1.37 aic79xx.c
--- ic/aic79xx.c=094 Mar 2007 06:01:48 -0000=091.37
+++ ic/aic79xx.c=0917 Mar 2007 01:33:41 -0000
@@ -5165,7 +5165,7 @@
 =09switch (ahd->init_level) {
 =09default:
 =09case 2:
-=09=09ahd_shutdown(ahd);
+=09=09ahd_shutdown(RB_USERCONF, ahd);
 =09=09TAILQ_REMOVE(&ahd_tailq, ahd, links);
 =09=09/* FALLTHROUGH */
 =09case 1:
@@ -5220,7 +5220,7 @@
 }

 void
-ahd_shutdown(void *arg)
+ahd_shutdown(int why, void *arg)
 {
 =09struct=09ahd_softc *ahd;

@@ -6880,7 +6880,7 @@
 =09=09ahd_unpause(ahd);
 =09=09return (EBUSY);
 =09}
-=09ahd_shutdown(ahd);
+=09ahd_shutdown(RB_USERCONF, ahd);
 =09return (0);
 }

Index: ic/aic79xxvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aic79xxvar.h,v
retrieving revision 1.22
diff -u -r1.22 aic79xxvar.h
--- ic/aic79xxvar.h=0916 Feb 2006 20:17:16 -0000=091.22
+++ ic/aic79xxvar.h=0917 Mar 2007 01:33:42 -0000
@@ -1384,7 +1384,7 @@
 int=09=09=09 ahd_alloc_scbs(struct ahd_softc *);
 void=09=09=09 ahd_free(struct ahd_softc *);
 int=09=09=09 ahd_reset(struct ahd_softc *, int);
-void=09=09=09 ahd_shutdown(void *);
+void=09=09=09 ahd_shutdown(int, void *);
 int=09=09=09 ahd_write_flexport(struct ahd_softc *,
 =09=09=09=09=09    u_int, u_int);
 int=09=09=09 ahd_read_flexport(struct ahd_softc *, u_int,
Index: ic/aic7xxx.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aic7xxx.c,v
retrieving revision 1.124
diff -u -r1.124 aic7xxx.c
--- ic/aic7xxx.c=094 Mar 2007 06:01:48 -0000=091.124
+++ ic/aic7xxx.c=0917 Mar 2007 01:33:44 -0000
@@ -417,7 +417,7 @@
 =09=09       CAM_NO_HBA);

 =09/* Disable all interrupt sources by resetting the controller */
-=09ahc_shutdown(ahc);
+=09ahc_shutdown(RB_USERCONF, ahc);
 }

 void
@@ -3916,7 +3916,7 @@
 =09switch (ahc->init_level) {
 =09default:
 =09case 2:
-=09=09ahc_shutdown(ahc);
+=09=09ahc_shutdown(RB_USERCONF, ahc);
 =09=09/* TAILQ_REMOVE(&ahc_tailq, ahc, links); XXX */
 =09=09/* FALLTHROUGH */
 =09case 1:
@@ -3970,7 +3970,7 @@
 }

 void
-ahc_shutdown(void *arg)
+ahc_shutdown(int why, void *arg)
 {
 =09struct=09ahc_softc *ahc;
 =09int=09i;
@@ -5032,7 +5032,7 @@
 =09=09=09}
 =09=09}
 =09}
-=09ahc_shutdown(ahc);
+=09ahc_shutdown(RB_USERCONF, ahc);
 =09return (0);
 }

Index: ic/aic7xxxvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/aic7xxxvar.h,v
retrieving revision 1.53
diff -u -r1.53 aic7xxxvar.h
--- ic/aic7xxxvar.h=0911 May 2006 01:02:15 -0000=091.53
+++ ic/aic7xxxvar.h=0917 Mar 2007 01:33:44 -0000
@@ -1286,7 +1286,7 @@
 int=09=09=09 ahc_alloc_scbs(struct ahc_softc *);
 void=09=09=09 ahc_free(struct ahc_softc *);
 int=09=09=09 ahc_reset(struct ahc_softc *);
-void=09=09=09 ahc_shutdown(void *);
+void=09=09=09 ahc_shutdown(int, void *);

 /*************************** Interrupt Services
*******************************/
 void=09=09=09ahc_clear_intstat(struct ahc_softc *);
Index: ic/ath.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/ath.c,v
retrieving revision 1.82
diff -u -r1.82 ath.c
--- ic/ath.c=094 Mar 2007 06:01:49 -0000=091.82
+++ ic/ath.c=0917 Mar 2007 01:33:45 -0000
@@ -776,7 +776,7 @@
 }

 void
-ath_shutdown(void *arg)
+ath_shutdown(int howto, void *arg)
 {
 =09struct ath_softc *sc =3D arg;

Index: ic/athvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/athvar.h,v
retrieving revision 1.20
diff -u -r1.20 athvar.h
--- ic/athvar.h=094 Mar 2007 06:01:50 -0000=091.20
+++ ic/athvar.h=0917 Mar 2007 01:33:46 -0000
@@ -308,7 +308,7 @@
 void=09ath_suspend(struct ath_softc *, int);
 int=09ath_activate(struct device *, enum devact);
 void=09ath_power(int, void *);
-void=09ath_shutdown(void *);
+void=09ath_shutdown(int, void *);
 int=09ath_intr(void *);
 int=09ath_reset(struct ifnet *);
 void=09ath_sysctlattach(struct ath_softc *);
Index: ic/atw.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/atw.c,v
retrieving revision 1.126
diff -u -r1.126 atw.c
--- ic/atw.c=094 Mar 2007 06:01:50 -0000=091.126
+++ ic/atw.c=0917 Mar 2007 01:33:47 -0000
@@ -213,7 +213,7 @@
 int=09atw_enable(struct atw_softc *);
 void=09atw_power(int, void *);
 void=09atw_reset(struct atw_softc *);
-void=09atw_shutdown(void *);
+void=09atw_shutdown(int, void *);

 /* Interrupt handlers */
 void=09atw_linkintr(struct atw_softc *, u_int32_t);
@@ -2779,7 +2779,7 @@

 /* atw_shutdown: make sure the interface is stopped at reboot time. */
 void
-atw_shutdown(void *arg)
+atw_shutdown(int why, void *arg)
 {
 =09struct atw_softc *sc =3D arg;

Index: ic/atwvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/atwvar.h,v
retrieving revision 1.23
diff -u -r1.23 atwvar.h
--- ic/atwvar.h=094 Mar 2007 06:01:50 -0000=091.23
+++ ic/atwvar.h=0917 Mar 2007 01:33:47 -0000
@@ -454,6 +454,6 @@
 int=09atw_activate(struct device *, enum devact);
 int=09atw_intr(void *arg);
 void=09atw_power(int, void *);
-void=09atw_shutdown(void *);
+void=09atw_shutdown(int, void *);

 #endif /* _DEV_IC_ATWVAR_H_ */
Index: ic/awi.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/awi.c,v
retrieving revision 1.74
diff -u -r1.74 awi.c
--- ic/awi.c=094 Mar 2007 06:01:51 -0000=091.74
+++ ic/awi.c=0917 Mar 2007 01:33:48 -0000
@@ -451,7 +451,7 @@
 #endif /* __NetBSD__ */

 void
-awi_shutdown(void *arg)
+awi_shutdown(int why, void *arg)
 {
 =09struct awi_softc *sc =3D arg;
 =09struct ifnet *ifp =3D &sc->sc_if;
Index: ic/awivar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/awivar.h,v
retrieving revision 1.22
diff -u -r1.22 awivar.h
--- ic/awivar.h=0911 Dec 2005 12:21:26 -0000=091.22
+++ ic/awivar.h=0917 Mar 2007 01:33:48 -0000
@@ -156,7 +156,7 @@
 int=09awi_activate(struct device *, enum devact);
 void=09awi_power(int, void *);
 #endif
-void=09awi_shutdown(void *);
+void=09awi_shutdown(int, void *);
 int=09awi_intr(void *);

 #endif /* _DEV_IC_AWIVAR_H */
Index: ic/cac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/cac.c,v
retrieving revision 1.40
diff -u -r1.40 cac.c
--- ic/cac.c=094 Mar 2007 06:01:51 -0000=091.40
+++ ic/cac.c=0917 Mar 2007 01:33:48 -0000
@@ -70,7 +70,7 @@
 static int=09cac_ccb_poll(struct cac_softc *, struct cac_ccb *, int);
 static int=09cac_ccb_start(struct cac_softc *, struct cac_ccb *);
 static int=09cac_print(void *, const char *);
-static void=09cac_shutdown(void *);
+static void=09cac_shutdown(int, void *);

 static struct=09cac_ccb *cac_l0_completed(struct cac_softc *);
 static int=09cac_l0_fifo_full(struct cac_softc *);
@@ -210,7 +210,7 @@
  * Shut down all `cac' controllers.
  */
 static void
-cac_shutdown(void *cookie)
+cac_shutdown(int why, void *cookie)
 {
 =09extern struct cfdriver cac_cd;
 =09struct cac_softc *sc;
Index: ic/ciss.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/ciss.c,v
retrieving revision 1.7
diff -u -r1.7 ciss.c
--- ic/ciss.c=094 Mar 2007 06:01:53 -0000=091.7
+++ ic/ciss.c=0917 Mar 2007 01:33:48 -0000
@@ -80,7 +80,7 @@
 #endif
 static int=09ciss_sync(struct ciss_softc *sc);
 static void=09ciss_heartbeat(void *v);
-static void=09ciss_shutdown(void *v);
+static void=09ciss_shutdown(int why, void *v);
 #if 0
 static void=09ciss_kthread(void *v);
 #endif
@@ -382,7 +382,7 @@
 }

 static void
-ciss_shutdown(void *v)
+ciss_shutdown(int why, void *v)
 {
 =09struct ciss_softc *sc =3D v;

Index: ic/com.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/com.c,v
retrieving revision 1.259
diff -u -r1.259 com.c
--- ic/com.c=094 Mar 2007 06:01:53 -0000=091.259
+++ ic/com.c=0917 Mar 2007 01:33:48 -0000
@@ -2589,7 +2589,7 @@
  * FIFO mode.
  */
 void
-com_cleanup(void *arg)
+com_cleanup(int why, void *arg)
 {
 =09struct com_softc *sc =3D arg;

Index: ic/comvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/comvar.h,v
retrieving revision 1.54
diff -u -r1.54 comvar.h
--- ic/comvar.h=0913 Jul 2006 22:56:02 -0000=091.54
+++ ic/comvar.h=0917 Mar 2007 01:33:48 -0000
@@ -230,7 +230,7 @@
 int com_probe_subr(struct com_regs *);
 int com_detach(struct device *, int);
 int com_activate(struct device *, enum devact);
-void com_cleanup(void *);
+void com_cleanup(int, void *);

 #ifndef __HAVE_GENERIC_SOFT_INTERRUPTS
 #ifdef __NO_SOFT_SERIAL_INTERRUPT
Index: ic/cs89x0.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/cs89x0.c,v
retrieving revision 1.21
diff -u -r1.21 cs89x0.c
--- ic/cs89x0.c=094 Mar 2007 06:01:53 -0000=091.21
+++ ic/cs89x0.c=0917 Mar 2007 01:33:49 -0000
@@ -269,6 +269,7 @@
 int=09cs_get_params(struct cs_softc *);
 int=09cs_get_enaddr(struct cs_softc *);
 int=09cs_reset_chip(struct cs_softc *);
+void=09cs_shutdown(int, void *);
 void=09cs_reset(void *);
 int=09cs_ioctl(struct ifnet *, u_long, void *);
 void=09cs_initChip(struct cs_softc *);
@@ -492,7 +493,7 @@
 =09if (sc->sc_dma_attach)
 =09=09(*sc->sc_dma_attach)(sc);

-=09sc->sc_sh =3D shutdownhook_establish(cs_reset, sc);
+=09sc->sc_sh =3D shutdownhook_establish(cs_shutdown, sc);
 =09if (sc->sc_sh =3D=3D NULL) {
 =09=09printf("%s: unable to establish shutdownhook\n",
 =09=09    sc->sc_dev.dv_xname);
@@ -1312,6 +1313,12 @@
 }

 void
+cs_shutdown(int why, void *arg)
+{
+=09cs_reset(arg);
+}
+
+void
 cs_reset(void *arg)
 {
 =09struct cs_softc *sc =3D arg;
Index: ic/dp83932.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/dp83932.c,v
retrieving revision 1.14
diff -u -r1.14 dp83932.c
--- ic/dp83932.c=094 Mar 2007 06:01:54 -0000=091.14
+++ ic/dp83932.c=0917 Mar 2007 01:33:49 -0000
@@ -78,7 +78,7 @@
 int=09sonic_init(struct ifnet *);
 void=09sonic_stop(struct ifnet *, int);

-void=09sonic_shutdown(void *);
+void=09sonic_shutdown(int, void *);

 void=09sonic_reset(struct sonic_softc *);
 void=09sonic_rxdrain(struct sonic_softc *);
@@ -262,7 +262,7 @@
  *=09Make sure the interface is stopped at reboot.
  */
 void
-sonic_shutdown(void *arg)
+sonic_shutdown(int why, void *arg)
 {
 =09struct sonic_softc *sc =3D arg;

Index: ic/dpt.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/dpt.c,v
retrieving revision 1.56
diff -u -r1.56 dpt.c
--- ic/dpt.c=094 Mar 2007 06:01:54 -0000=091.56
+++ ic/dpt.c=0917 Mar 2007 01:33:50 -0000
@@ -201,7 +201,7 @@
 =09=09=09=09struct lwp *);
 static void=09dpt_scsipi_request(struct scsipi_channel *,
 =09=09=09=09   scsipi_adapter_req_t, void *);
-static void=09dpt_shutdown(void *);
+static void=09dpt_shutdown(int, void *);
 static void=09dpt_sysinfo(struct dpt_softc *, struct dpt_sysinfo *);
 static int=09dpt_wait(struct dpt_softc *, u_int8_t, u_int8_t, int);

@@ -614,7 +614,7 @@
  * we tell root that it's safe to power off).
  */
 static void
-dpt_shutdown(void *cookie)
+dpt_shutdown(int why, void *cookie)
 {
 =09extern struct cfdriver dpt_cd;
 =09struct dpt_softc *sc;
Index: ic/elink3.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/elink3.c,v
retrieving revision 1.121
diff -u -r1.121 elink3.c
--- ic/elink3.c=094 Mar 2007 06:01:54 -0000=091.121
+++ ic/elink3.c=0917 Mar 2007 01:33:50 -0000
@@ -199,7 +199,7 @@
 void=09epstart(struct ifnet *);
 void=09epwatchdog(struct ifnet *);
 void=09epreset(struct ep_softc *);
-static void epshutdown(void *);
+static void epshutdown(int, void *);
 void=09epread(struct ep_softc *);
 struct mbuf *epget(struct ep_softc *, int);
 void=09epmbuffill(void *);
@@ -1844,7 +1844,8 @@
  * Before reboots, reset card completely.
  */
 static void
-epshutdown(arg)
+epshutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct ep_softc *sc =3D arg;
Index: ic/elinkxl.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/elinkxl.c,v
retrieving revision 1.96
diff -u -r1.96 elinkxl.c
--- ic/elinkxl.c=094 Mar 2007 06:01:54 -0000=091.96
+++ ic/elinkxl.c=0917 Mar 2007 01:33:50 -0000
@@ -112,7 +112,7 @@
 static void ex_init_txdescs(struct ex_softc *);

 static void ex_setup_tx(struct ex_softc *);
-static void ex_shutdown(void *);
+static void ex_shutdown(int, void *);
 static void ex_start(struct ifnet *);
 static void ex_txstat(struct ex_softc *);

@@ -1806,7 +1806,8 @@
  * Before reboots, reset card completely.
  */
 static void
-ex_shutdown(arg)
+ex_shutdown(howto, arg)
+=09int howto;
 =09void *arg;
 {
 =09struct ex_softc *sc =3D arg;
Index: ic/gem.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/gem.c,v
retrieving revision 1.54
diff -u -r1.54 gem.c
--- ic/gem.c=094 Mar 2007 07:54:11 -0000=091.54
+++ ic/gem.c=0917 Mar 2007 01:33:51 -0000
@@ -90,7 +90,7 @@
 int=09=09gem_ioctl(struct ifnet *, u_long, void *);
 void=09=09gem_tick(void *);
 void=09=09gem_watchdog(struct ifnet *);
-void=09=09gem_shutdown(void *);
+void=09=09gem_shutdown(int, void *);
 int=09=09gem_init(struct ifnet *);
 void=09=09gem_init_regs(struct gem_softc *sc);
 static int=09gem_ringsize(int sz);
@@ -2081,7 +2081,8 @@


 void
-gem_shutdown(arg)
+gem_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct gem_softc *sc =3D (struct gem_softc *)arg;
Index: ic/hme.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/hme.c,v
retrieving revision 1.56
diff -u -r1.56 hme.c
--- ic/hme.c=094 Mar 2007 06:01:55 -0000=091.56
+++ ic/hme.c=0917 Mar 2007 01:33:51 -0000
@@ -97,7 +97,7 @@
 int=09=09hme_ioctl(struct ifnet *, u_long, void *);
 void=09=09hme_tick(void *);
 void=09=09hme_watchdog(struct ifnet *);
-void=09=09hme_shutdown(void *);
+void=09=09hme_shutdown(int, void *);
 void=09=09hme_init(struct hme_softc *);
 void=09=09hme_meminit(struct hme_softc *);
 void=09=09hme_mifinit(struct hme_softc *);
@@ -1527,7 +1527,8 @@
 }

 void
-hme_shutdown(arg)
+hme_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {

Index: ic/i82557.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/i82557.c,v
retrieving revision 1.101
diff -u -r1.101 i82557.c
--- ic/i82557.c=094 Mar 2007 06:01:55 -0000=091.101
+++ ic/i82557.c=0917 Mar 2007 01:33:52 -0000
@@ -207,7 +207,7 @@
 void=09fxp_mc_setup(struct fxp_softc *);
 void=09fxp_load_ucode(struct fxp_softc *);

-void=09fxp_shutdown(void *);
+void=09fxp_shutdown(int, void *);
 void=09fxp_power(int, void *);

 int=09fxp_copy_small =3D 0;
@@ -541,7 +541,7 @@
  * kernel memory doesn't get clobbered during warmboot.
  */
 void
-fxp_shutdown(void *arg)
+fxp_shutdown(int why, void *arg)
 {
 =09struct fxp_softc *sc =3D arg;

Index: ic/lance.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/lance.c,v
retrieving revision 1.38
diff -u -r1.38 lance.c
--- ic/lance.c=094 Mar 2007 06:01:57 -0000=091.38
+++ ic/lance.c=0917 Mar 2007 01:33:52 -0000
@@ -118,7 +118,7 @@

 integrate struct mbuf *lance_get(struct lance_softc *, int, int);

-hide void lance_shutdown(void *);
+hide void lance_shutdown(int, void *);

 int lance_mediachange(struct ifnet *);
 void lance_mediastatus(struct ifnet *, struct ifmediareq *);
@@ -606,7 +606,8 @@
 }

 hide void
-lance_shutdown(arg)
+lance_shutdown(howto, arg)
+=09int howto;
 =09void *arg;
 {

Index: ic/lemac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/lemac.c,v
retrieving revision 1.32
diff -u -r1.32 lemac.c
--- ic/lemac.c=094 Mar 2007 15:35:20 -0000=091.32
+++ ic/lemac.c=0917 Mar 2007 01:33:52 -0000
@@ -977,7 +977,7 @@
 }

 void
-lemac_shutdown(
+lemac_shutdown(int howto,
     void *arg)
 {
     lemac_reset((lemac_softc_t *) arg);
Index: ic/lemacvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/lemacvar.h,v
retrieving revision 1.9
diff -u -r1.9 lemacvar.h
--- ic/lemacvar.h=0911 Dec 2005 12:21:27 -0000=091.9
+++ ic/lemacvar.h=0917 Mar 2007 01:33:52 -0000
@@ -138,6 +138,6 @@
     bus_addr_t *, bus_size_t *, int *);
 extern int lemac_port_check(const bus_space_tag_t, const bus_space_handle_=
t);
 extern int lemac_intr(void *);
-extern void lemac_shutdown(void *);
+extern void lemac_shutdown(int, void *);

 #endif /* _LEMACVAR_H */
Index: ic/mlx.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/mlx.c,v
retrieving revision 1.51
diff -u -r1.51 mlx.c
--- ic/mlx.c=094 Mar 2007 06:01:58 -0000=091.51
+++ ic/mlx.c=0917 Mar 2007 01:33:53 -0000
@@ -133,7 +133,7 @@
 static void=09mlx_periodic_thread(void *);
 static int=09mlx_print(void *, const char *);
 static int=09mlx_rebuild(struct mlx_softc *, int, int);
-static void=09mlx_shutdown(void *);
+static void=09mlx_shutdown(int, void *);
 static int=09mlx_user_command(struct mlx_softc *, struct mlx_usercommand *=
);

 dev_type_open(mlxopen);
@@ -658,7 +658,7 @@
  * Shut down all configured `mlx' devices.
  */
 static void
-mlx_shutdown(void *cookie)
+mlx_shutdown(int why, void *cookie)
 {
 =09struct mlx_softc *mlx;
 =09int i;
Index: ic/mtd803.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/mtd803.c,v
retrieving revision 1.13
diff -u -r1.13 mtd803.c
--- ic/mtd803.c=094 Mar 2007 06:01:59 -0000=091.13
+++ ic/mtd803.c=0917 Mar 2007 01:33:53 -0000
@@ -130,7 +130,7 @@

 int mtd_init(struct ifnet *);
 void mtd_reset(struct mtd_softc *);
-void mtd_shutdown(void *);
+void mtd_shutdown(int, void *);
 int mtd_init_desc(struct mtd_softc *);
 int mtd_put(struct mtd_softc *, int, struct mbuf *);
 struct mbuf *mtd_get(struct mtd_softc *, int, int);
@@ -981,7 +981,8 @@


 void
-mtd_shutdown (arg)
+mtd_shutdown (why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct mtd_softc *sc =3D arg;
Index: ic/rtl8169.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/rtl8169.c,v
retrieving revision 1.83
diff -u -r1.83 rtl8169.c
--- ic/rtl8169.c=094 Mar 2007 06:02:00 -0000=091.83
+++ ic/rtl8169.c=0917 Mar 2007 01:33:53 -0000
@@ -162,7 +162,7 @@
 static void re_stop(struct ifnet *, int);
 static void re_watchdog(struct ifnet *);

-static void re_shutdown(void *);
+static void re_shutdown(int, void *);
 static int re_enable(struct rtk_softc *);
 static void re_disable(struct rtk_softc *);
 static void re_power(int, void *);
@@ -1365,7 +1365,7 @@
  * get confused by errant DMAs when rebooting.
  */
 static void
-re_shutdown(void *vsc)
+re_shutdown(int why, void *vsc)

 {
 =09struct rtk_softc=09*sc =3D vsc;
Index: ic/rtl81x9.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/rtl81x9.c,v
retrieving revision 1.71
diff -u -r1.71 rtl81x9.c
--- ic/rtl81x9.c=094 Mar 2007 06:02:00 -0000=091.71
+++ ic/rtl81x9.c=0917 Mar 2007 01:33:54 -0000
@@ -140,7 +140,7 @@
 STATIC void rtk_stop(struct ifnet *, int);

 STATIC void rtk_watchdog(struct ifnet *);
-STATIC void rtk_shutdown(void *);
+STATIC void rtk_shutdown(int, void *);
 STATIC int rtk_ifmedia_upd(struct ifnet *);
 STATIC void rtk_ifmedia_sts(struct ifnet *, struct ifmediareq *);

@@ -1623,7 +1623,7 @@
  * get confused by errant DMAs when rebooting.
  */
 STATIC void
-rtk_shutdown(void *arg)
+rtk_shutdown(int why, void *arg)
 {
 =09struct rtk_softc *sc =3D (struct rtk_softc *)arg;

Index: ic/rtw.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/rtw.c,v
retrieving revision 1.85
diff -u -r1.85 rtw.c
--- ic/rtw.c=094 Mar 2007 06:02:00 -0000=091.85
+++ ic/rtw.c=0917 Mar 2007 01:33:55 -0000
@@ -3738,7 +3738,7 @@

 /* rtw_shutdown: make sure the interface is stopped at reboot time. */
 void
-rtw_shutdown(void *arg)
+rtw_shutdown(int why, void *arg)
 {
 =09struct rtw_softc *sc =3D arg;

Index: ic/rtwvar.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/rtwvar.h,v
retrieving revision 1.31
diff -u -r1.31 rtwvar.h
--- ic/rtwvar.h=094 Mar 2007 06:02:01 -0000=091.31
+++ ic/rtwvar.h=0917 Mar 2007 01:33:55 -0000
@@ -505,7 +505,7 @@

 int rtw_activate(struct device *, enum devact);
 void rtw_power(int, void *);
-void rtw_shutdown(void *);
+void rtw_shutdown(int, void *);

 const char *rtw_pwrstate_string(enum rtw_pwrstate);

Index: ic/smc83c170.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/smc83c170.c,v
retrieving revision 1.64
diff -u -r1.64 smc83c170.c
--- ic/smc83c170.c=094 Mar 2007 06:02:01 -0000=091.64
+++ ic/smc83c170.c=0917 Mar 2007 01:33:55 -0000
@@ -84,7 +84,7 @@
 int=09epic_init(struct ifnet *);
 void=09epic_stop(struct ifnet *, int);

-void=09epic_shutdown(void *);
+void=09epic_shutdown(int, void *);

 void=09epic_reset(struct epic_softc *);
 void=09epic_rxdrain(struct epic_softc *);
@@ -347,7 +347,8 @@
  * Shutdown hook.  Make sure the interface is stopped at reboot.
  */
 void
-epic_shutdown(arg)
+epic_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct epic_softc *sc =3D arg;
Index: ic/tropic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/tropic.c,v
retrieving revision 1.30
diff -u -r1.30 tropic.c
--- ic/tropic.c=094 Mar 2007 06:02:02 -0000=091.30
+++ ic/tropic.c=0917 Mar 2007 01:33:56 -0000
@@ -80,7 +80,7 @@
 #include <dev/ic/tropicreg.h>
 #include <dev/ic/tropicvar.h>

-static void tr_shutdown(void *);
+static void tr_shutdown(int, void *);
 static void tr_reopen(void *);

 void=09tr_rint(struct tr_softc *);
@@ -578,7 +578,8 @@
 }

 static void
-tr_shutdown(arg)
+tr_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct tr_softc *sc =3D arg;
Index: ic/tulip.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ic/tulip.c,v
retrieving revision 1.149
diff -u -r1.149 tulip.c
--- ic/tulip.c=094 Mar 2007 06:02:02 -0000=091.149
+++ ic/tulip.c=0917 Mar 2007 01:33:57 -0000
@@ -101,7 +101,7 @@
 static int=09tlp_init(struct ifnet *);
 static void=09tlp_stop(struct ifnet *, int);

-static void=09tlp_shutdown(void *);
+static void=09tlp_shutdown(int, void *);

 static void=09tlp_rxdrain(struct tulip_softc *);
 static int=09tlp_add_rxbuf(struct tulip_softc *, int);
@@ -691,7 +691,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-tlp_shutdown(void *arg)
+tlp_shutdown(int why, void *arg)
 {
 =09struct tulip_softc *sc =3D arg;

Index: ieee1394/fw_port.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ieee1394/fw_port.h,v
retrieving revision 1.21
diff -u -r1.21 fw_port.h
--- ieee1394/fw_port.h=094 Mar 2007 06:02:05 -0000=091.21
+++ ieee1394/fw_port.h=0917 Mar 2007 01:33:57 -0000
@@ -771,7 +771,7 @@
 =09=09shutdownhook_disestablish(sc->sc_shutdownhook)
 #define FWOHCI_STOP()=09\
 =09void=09\
-=09fwohci_stop(void *arg)
+=09fwohci_stop(int why, void *arg)
 #define FWOHCI_STOP_START=09struct fwohci_softc *sc =3D arg
 #define FWOHCI_STOP_RETURN(r)=09return

Index: ieee1394/fwohci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/ieee1394/fwohci.c,v
retrieving revision 1.106
diff -u -r1.106 fwohci.c
--- ieee1394/fwohci.c=094 Mar 2007 06:02:05 -0000=091.106
+++ ieee1394/fwohci.c=0917 Mar 2007 01:33:58 -0000
@@ -1837,7 +1837,7 @@
 =09switch (why) {
 =09case PWR_SUSPEND:
 =09case PWR_STANDBY:
-=09=09fwohci_stop(arg);
+=09=09fwohci_stop(why, arg);
 =09=09break;
 =09case PWR_RESUME:
 =09=09fwohci_resume(sc, sc->fc.dev);
Index: isa/fd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/isa/fd.c,v
retrieving revision 1.73
diff -u -r1.73 fd.c
--- isa/fd.c=098 Mar 2007 23:23:45 -0000=091.73
+++ isa/fd.c=0917 Mar 2007 01:33:58 -0000
@@ -245,6 +245,7 @@
 const struct fd_type *fd_nvtotype(char *, int, int);
 #endif /* i386 */
 void fd_set_motor(struct fdc_softc *fdc, int reset);
+void fd_motor_shutdown(int howto, void *arg);
 void fd_motor_off(void *arg);
 void fd_motor_on(void *arg);
 int fdcresult(struct fdc_softc *fdc);
@@ -510,7 +511,7 @@
 =09mountroothook_establish(fd_mountroot_hook, &fd->sc_dev);

 =09/* Needed to power off if the motor is on when we halt. */
-=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_off, fd);
+=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_shutdown, fd);

 #if NRND > 0
 =09rnd_attach_source(&fd->rnd_source, fd->sc_dev.dv_xname,
@@ -737,6 +738,15 @@
 }

 void
+fd_motor_shutdown(why, arg)
+=09int why;
+=09void *arg;
+{
+=09fd_motor_off(arg);
+}
+
+
+void
 fd_motor_off(arg)
 =09void *arg;
 {
Index: isa/if_ntwoc_isa.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/isa/if_ntwoc_isa.c,v
retrieving revision 1.15
diff -u -r1.15 if_ntwoc_isa.c
--- isa/if_ntwoc_isa.c=0916 Nov 2006 01:33:00 -0000=091.15
+++ isa/if_ntwoc_isa.c=0917 Mar 2007 01:33:59 -0000
@@ -93,7 +93,7 @@
 static=09void ntwoc_isa_get_clock(struct sca_port *, u_int8_t, u_int8_t,
     u_int8_t, u_int8_t);
 static=09void ntwoc_isa_setup_memory(struct sca_softc *sc);
-static=09void ntwoc_isa_shutdown(void *sc);
+static=09void ntwoc_isa_shutdown(int why, void *sc);

 CFATTACH_DECL(ntwoc_isa, sizeof(struct ntwoc_isa_softc),
     ntwoc_isa_probe, ntwoc_isa_attach, NULL, NULL);
@@ -690,7 +690,7 @@
  * boot.  Also, lower DTR on each port and disable card interrupts.
  */
 static void
-ntwoc_isa_shutdown(void *aux)
+ntwoc_isa_shutdown(int why, void *aux)
 {
 =09struct ntwoc_isa_softc *sc =3D aux;
 =09u_int16_t mcr;
Index: marvell/gtmpsc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/marvell/gtmpsc.c,v
retrieving revision 1.23
diff -u -r1.23 gtmpsc.c
--- marvell/gtmpsc.c=094 Mar 2007 06:02:14 -0000=091.23
+++ marvell/gtmpsc.c=0917 Mar 2007 01:33:59 -0000
@@ -159,7 +159,7 @@

 STATIC void gtmpsc_txflush(gtmpsc_softc_t *);
 STATIC void gtmpsc_iflush(gtmpsc_softc_t *);
-STATIC void gtmpsc_shutdownhook(void *);
+STATIC void gtmpsc_shutdownhook(int, void *);

 dev_type_open(gtmpscopen);
 dev_type_close(gtmpscclose);
@@ -1830,7 +1830,7 @@
 }

 void
-gtmpsc_shutdownhook(void *arg)
+gtmpsc_shutdownhook(int why, void *arg)
 {
 =09gtmpsc_softc_t *sc =3D (gtmpsc_softc_t *)arg;

Index: mvme/clock_pcctwo.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/mvme/clock_pcctwo.c,v
retrieving revision 1.10
diff -u -r1.10 clock_pcctwo.c
--- mvme/clock_pcctwo.c=0929 Mar 2006 07:07:41 -0000=091.10
+++ mvme/clock_pcctwo.c=0917 Mar 2007 01:33:59 -0000
@@ -76,7 +76,7 @@
 static int clock_pcctwo_statintr(void *);
 static void clock_pcctwo_initclocks(void *, int, int);
 static long clock_pcctwo_microtime(void *);
-static void clock_pcctwo_shutdown(void *);
+static void clock_pcctwo_shutdown(int, void *);

 static struct clock_pcctwo_softc *clock_pcctwo_sc;

@@ -245,7 +245,8 @@

 /* ARGSUSED */
 void
-clock_pcctwo_shutdown(arg)
+clock_pcctwo_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {

Index: pci/amr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/amr.c,v
retrieving revision 1.44
diff -u -r1.44 amr.c
--- pci/amr.c=094 Mar 2007 06:02:16 -0000=091.44
+++ pci/amr.c=0917 Mar 2007 01:34:00 -0000
@@ -107,7 +107,7 @@
 static int=09amr_intr(void *);
 static int=09amr_match(struct device *, struct cfdata *, void *);
 static int=09amr_print(void *, const char *);
-static void=09amr_shutdown(void *);
+static void=09amr_shutdown(int, void *);
 static void=09amr_teardown(struct amr_softc *);
 static void=09amr_thread(void *);
 static void=09amr_thread_create(void *);
@@ -732,7 +732,7 @@
  * shutdown time.
  */
 static void
-amr_shutdown(void *cookie)
+amr_shutdown(int why, void *cookie)
 {
 =09extern struct cfdriver amr_cd;
 =09struct amr_softc *amr;
Index: pci/if_ath_pci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_ath_pci.c,v
retrieving revision 1.19
diff -u -r1.19 if_ath_pci.c
--- pci/if_ath_pci.c=0916 Nov 2006 01:33:08 -0000=091.19
+++ pci/if_ath_pci.c=0917 Mar 2007 01:34:00 -0000
@@ -105,7 +105,7 @@

 static int ath_pci_match(struct device *, struct cfdata *, void *);
 static void ath_pci_attach(struct device *, struct device *, void *);
-static void ath_pci_shutdown(void *);
+static void ath_pci_shutdown(int, void *);
 static void ath_pci_powerhook(int, void *);
 static int ath_pci_detach(struct device *, int);

@@ -260,11 +260,11 @@
 }

 static void
-ath_pci_shutdown(void *self)
+ath_pci_shutdown(int why, void *self)
 {
 =09struct ath_pci_softc *psc =3D (struct ath_pci_softc *)self;

-=09ath_shutdown(&psc->sc_sc);
+=09ath_shutdown(why, &psc->sc_sc);
 }

 static void
@@ -276,7 +276,7 @@

 =09switch (why) {
 =09case PWR_SOFTSUSPEND:
-=09=09ath_pci_shutdown(sc);
+=09=09ath_pci_shutdown(why, sc);
 =09=09break;
 =09case PWR_SUSPEND:
 =09=09pci_conf_capture(pc, tag, &sc->sc_pciconf);
Index: pci/if_de.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_de.c,v
retrieving revision 1.123
diff -u -r1.123 if_de.c
--- pci/if_de.c=094 Mar 2007 06:02:19 -0000=091.123
+++ pci/if_de.c=0917 Mar 2007 01:34:01 -0000
@@ -5554,7 +5554,7 @@
 =0C
 #if defined(__NetBSD__)
 #define=09TULIP_PCI_ATTACH_ARGS=09struct device * const parent, struct
device * const self, void *const aux
-#define=09TULIP_SHUTDOWN_ARGS=09void *arg
+#define=09TULIP_SHUTDOWN_ARGS=09int why, void *arg
 static int
 tulip_pci_probe(
     struct device *parent,
Index: pci/if_dge.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_dge.c,v
retrieving revision 1.15
diff -u -r1.15 if_dge.c
--- pci/if_dge.c=094 Mar 2007 06:02:20 -0000=091.15
+++ pci/if_dge.c=0917 Mar 2007 01:34:02 -0000
@@ -618,7 +618,7 @@
 static int=09dge_init(struct ifnet *);
 static void=09dge_stop(struct ifnet *, int);

-static void=09dge_shutdown(void *);
+static void=09dge_shutdown(int, void *);

 static void=09dge_reset(struct dge_softc *);
 static void=09dge_rxdrain(struct dge_softc *);
@@ -1007,7 +1007,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-dge_shutdown(void *arg)
+dge_shutdown(int why, void *arg)
 {
 =09struct dge_softc *sc =3D arg;

Index: pci/if_fpa.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_fpa.c,v
retrieving revision 1.48
diff -u -r1.48 if_fpa.c
--- pci/if_fpa.c=094 Mar 2007 06:02:20 -0000=091.48
+++ pci/if_fpa.c=0917 Mar 2007 01:34:02 -0000
@@ -120,7 +120,7 @@
 #define=09PDQ_PCI_UNIT_TO_SOFTC(unit)=09(pdqs_pci[unit])
 #if BSD >=3D 199506
 #define=09pdq_pci_ifwatchdog=09=09NULL
-static void pdq_pci_shutdown(int howto, void *sc);
+static void pdq_pci_shutdown(int why, void *sc);
 #endif

 #elif defined(__bsdi__)
@@ -246,7 +246,7 @@
 #else
 static void
 pdq_pci_shutdown(
-    int howto,
+    int why,
     void *sc)
 {
     pdq_hwreset(((pdq_softc_t *)sc)->sc_pdq);
@@ -389,6 +389,15 @@
 };

 #elif defined(__NetBSD__)
+static void pdq_pci_shutdown(int, void *); /* prototype */
+
+static void
+pdq_pci_shutdown(int why,
+=09=09  void *arg)
+{
+    pdq_hwreset(arg);
+}
+

 static int
 pdq_pci_match(
@@ -494,7 +503,7 @@
 =09return;
     }

-    sc->sc_ats =3D shutdownhook_establish((void (*)(void *))
pdq_hwreset, sc->sc_pdq);
+    sc->sc_ats =3D shutdownhook_establish(pdq_pci_shutdown, sc->sc_pdq);
     if (sc->sc_ats =3D=3D NULL)
 =09aprint_error("%s: warning: couldn't establish shutdown hook\n",
self->dv_xname);
     if (intrstr !=3D NULL)
Index: pci/if_ipw.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_ipw.c,v
retrieving revision 1.32
diff -u -r1.32 if_ipw.c
--- pci/if_ipw.c=094 Mar 2007 06:02:20 -0000=091.32
+++ pci/if_ipw.c=0917 Mar 2007 01:34:03 -0000
@@ -94,7 +94,7 @@
 static void=09ipw_attach(struct device *, struct device *, void *);
 static int=09ipw_detach(struct device *, int);

-static void=09ipw_shutdown(void *);
+static void=09ipw_shutdown(int, void *);
 static int=09ipw_suspend(struct ipw_softc *);
 static int=09ipw_resume(struct ipw_softc *);
 static void=09ipw_powerhook(int, void *);
@@ -757,7 +757,7 @@
 }

 static void
-ipw_shutdown(void *arg)
+ipw_shutdown(int why, void *arg)
 {
 =09struct ipw_softc *sc =3D (struct ipw_softc *)arg;
 =09struct ifnet *ifp =3D sc->sc_ic.ic_ifp;
Index: pci/if_iwi.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_iwi.c,v
retrieving revision 1.62
diff -u -r1.62 if_iwi.c
--- pci/if_iwi.c=094 Mar 2007 19:14:25 -0000=091.62
+++ pci/if_iwi.c=0917 Mar 2007 01:34:03 -0000
@@ -94,7 +94,7 @@
 static void=09iwi_attach(struct device *, struct device *, void *);
 static int=09iwi_detach(struct device *, int);

-static void=09iwi_shutdown(void *);
+static void=09iwi_shutdown(int, void *);
 static int=09iwi_suspend(struct iwi_softc *);
 static int=09iwi_resume(struct iwi_softc *);
 static void=09iwi_powerhook(int, void *);
@@ -799,7 +799,7 @@
 }

 static void
-iwi_shutdown(void *arg)
+iwi_shutdown(int why, void *arg)
 {
 =09struct iwi_softc *sc =3D (struct iwi_softc *)arg;
 =09struct ifnet *ifp =3D sc->sc_ic.ic_ifp;
Index: pci/if_lmc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_lmc.c,v
retrieving revision 1.34
diff -u -r1.34 if_lmc.c
--- pci/if_lmc.c=094 Mar 2007 06:02:20 -0000=091.34
+++ pci/if_lmc.c=0917 Mar 2007 01:34:05 -0000
@@ -7158,7 +7158,7 @@
   aprint_naive(": %s\n", sc->dev_desc);

   /* Install a shutdown hook. */
-  if ((sc->sdh_cookie =3D shutdownhook_establish(tulip_detach, sc)) =3D=3D=
 NULL)
+  if ((sc->sdh_cookie =3D shutdownhook_establish(nbsd_tulip_shutdown,
sc)) =3D=3D NULL)
     {
     aprint_error("%s: shutdown_hook_establish() failed\n", NAME_UNIT);
     nbsd_detach(self, 0);
@@ -7193,6 +7193,13 @@
   return 0;
   }

+
+void
+nbsd_tulip_shutdown(int why, void *arg)
+{
+=09tulip_detach(arg);
+}
+
 CFATTACH_DECL(lmc, sizeof(softc_t),=09=09/* lmc_ca */
  nbsd_match, nbsd_attach, nbsd_detach, NULL);

@@ -7322,7 +7329,7 @@
   printf(" %s: %s\n", intrstr, sc->dev_desc);

   /* Install a shutdown hook. */
-  if ((sc->sdh_cookie =3D shutdownhook_establish(tulip_detach, sc)) =3D=3D=
 NULL)
+  if ((sc->sdh_cookie =3D shutdownhook_establish(nbsd_tulip_shutdown,
sc)) =3D=3D NULL)
     {
     printf("%s: shutdown_hook_establish() failed\n", NAME_UNIT);
     obsd_detach(self, 0);
Index: pci/if_lmc.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_lmc.h,v
retrieving revision 1.9
diff -u -r1.9 if_lmc.h
--- pci/if_lmc.h=094 Mar 2007 06:02:21 -0000=091.9
+++ pci/if_lmc.h=0917 Mar 2007 01:34:06 -0000
@@ -1677,6 +1677,7 @@
 static int nbsd_match(struct device *, struct cfdata *, void *);
 static void nbsd_attach(struct device *, struct device *, void *);
 static int nbsd_detach(struct device *, int);
+static void nbsd_tulip_shutdown(int, void *);
 # if defined(LKM)
 int if_lmc_lkmentry(struct lkm_table *, int, int);
 # endif
Index: pci/if_msk.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_msk.c,v
retrieving revision 1.8
diff -u -r1.8 if_msk.c
--- pci/if_msk.c=094 Mar 2007 06:02:21 -0000=091.8
+++ pci/if_msk.c=0917 Mar 2007 01:34:07 -0000
@@ -97,7 +97,7 @@

 int mskc_probe(struct device *, struct cfdata *, void *);
 void mskc_attach(struct device *, struct device *self, void *aux);
-void mskc_shutdown(void *);
+void mskc_shutdown(int, void *);
 int msk_probe(struct device *, struct cfdata *, void *);
 void msk_attach(struct device *, struct device *self, void *aux);
 int mskcprint(void *, const char *);
@@ -1654,7 +1654,7 @@
 }

 void
-mskc_shutdown(void *v)
+mskc_shutdown(int why, void *v)
 {
 =09struct sk_softc=09=09*sc =3D v;

Index: pci/if_ntwoc_pci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_ntwoc_pci.c,v
retrieving revision 1.19
diff -u -r1.19 if_ntwoc_pci.c
--- pci/if_ntwoc_pci.c=0916 Nov 2006 01:33:09 -0000=091.19
+++ pci/if_ntwoc_pci.c=0917 Mar 2007 01:34:07 -0000
@@ -123,7 +123,7 @@
     u_int8_t, u_int8_t);
 static=09int ntwoc_pci_intr(void *);
 static=09void ntwoc_pci_setup_dma(struct sca_softc *);
-static=09void ntwoc_pci_shutdown(void *sc);
+static=09void ntwoc_pci_shutdown(int why, void *sc);

 CFATTACH_DECL(ntwoc_pci, sizeof(struct ntwoc_pci_softc),
     ntwoc_pci_match, ntwoc_pci_attach, NULL, NULL);
@@ -464,7 +464,7 @@
  * boot.  Also, lower DTR on each port and disable card interrupts.
  */
 static void
-ntwoc_pci_shutdown(void *aux)
+ntwoc_pci_shutdown(int why, void *aux)
 {
 =09struct ntwoc_pci_softc *sc =3D aux;
 =09u_int16_t fecr;
Index: pci/if_pcn.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_pcn.c,v
retrieving revision 1.38
diff -u -r1.38 if_pcn.c
--- pci/if_pcn.c=094 Mar 2007 06:02:22 -0000=091.38
+++ pci/if_pcn.c=0917 Mar 2007 01:34:08 -0000
@@ -398,7 +398,7 @@
 static int=09pcn_init(struct ifnet *);
 static void=09pcn_stop(struct ifnet *, int);

-static void=09pcn_shutdown(void *);
+static void=09pcn_shutdown(int, void *);

 static void=09pcn_reset(struct pcn_softc *);
 static void=09pcn_rxdrain(struct pcn_softc *);
@@ -905,7 +905,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-pcn_shutdown(void *arg)
+pcn_shutdown(int why, void *arg)
 {
 =09struct pcn_softc *sc =3D arg;

Index: pci/if_sip.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_sip.c,v
retrieving revision 1.112
diff -u -r1.112 if_sip.c
--- pci/if_sip.c=094 Mar 2007 15:05:24 -0000=091.112
+++ pci/if_sip.c=0917 Mar 2007 01:34:09 -0000
@@ -428,7 +428,7 @@
 static int=09SIP_DECL(init)(struct ifnet *);
 static void=09SIP_DECL(stop)(struct ifnet *, int);

-static void=09SIP_DECL(shutdown)(void *);
+static void=09SIP_DECL(shutdown)(int, void *);

 static void=09SIP_DECL(reset)(struct sip_softc *);
 static void=09SIP_DECL(rxdrain)(struct sip_softc *);
@@ -1140,7 +1140,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-SIP_DECL(shutdown)(void *arg)
+SIP_DECL(shutdown)(int why, void *arg)
 {
 =09struct sip_softc *sc =3D arg;

Index: pci/if_ste.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_ste.c,v
retrieving revision 1.27
diff -u -r1.27 if_ste.c
--- pci/if_ste.c=094 Mar 2007 06:02:22 -0000=091.27
+++ pci/if_ste.c=0917 Mar 2007 01:34:09 -0000
@@ -210,7 +210,7 @@
 static int=09ste_init(struct ifnet *);
 static void=09ste_stop(struct ifnet *, int);

-static void=09ste_shutdown(void *);
+static void=09ste_shutdown(int, void *);

 static void=09ste_reset(struct ste_softc *, u_int32_t);
 static void=09ste_setthresh(struct ste_softc *);
@@ -558,7 +558,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-ste_shutdown(void *arg)
+ste_shutdown(int why, void *arg)
 {
 =09struct ste_softc *sc =3D arg;

Index: pci/if_stge.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_stge.c,v
retrieving revision 1.36
diff -u -r1.36 if_stge.c
--- pci/if_stge.c=094 Mar 2007 06:02:23 -0000=091.36
+++ pci/if_stge.c=0917 Mar 2007 01:34:09 -0000
@@ -273,7 +273,7 @@
 static int=09stge_init(struct ifnet *);
 static void=09stge_stop(struct ifnet *, int);

-static void=09stge_shutdown(void *);
+static void=09stge_shutdown(int, void *);

 static void=09stge_reset(struct stge_softc *);
 static void=09stge_rxdrain(struct stge_softc *);
@@ -742,7 +742,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-stge_shutdown(void *arg)
+stge_shutdown(int why, void *arg)
 {
 =09struct stge_softc *sc =3D arg;

Index: pci/if_ti.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_ti.c,v
retrieving revision 1.74
diff -u -r1.74 if_ti.c
--- pci/if_ti.c=094 Mar 2007 06:02:23 -0000=091.74
+++ pci/if_ti.c=0917 Mar 2007 01:34:10 -0000
@@ -151,7 +151,7 @@
 static const struct ti_type *ti_type_match(struct pci_attach_args *);
 static int ti_probe(struct device *, struct cfdata *, void *);
 static void ti_attach(struct device *, struct device *, void *);
-static void ti_shutdown(void *);
+static void ti_shutdown(int, void *);
 static void ti_txeof_tigon1(struct ti_softc *);
 static void ti_txeof_tigon2(struct ti_softc *);
 static void ti_rxeof(struct ti_softc *);
@@ -2924,7 +2924,8 @@
  * Stop all chip I/O so that the kernel's probe routines don't
  * get confused by errant DMAs when rebooting.
  */
-static void ti_shutdown(v)
+static void ti_shutdown(why, v)
+=09int why;
 =09void *v;
 {
 =09struct ti_softc=09=09*sc =3D v;
Index: pci/if_tl.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_tl.c,v
retrieving revision 1.82
diff -u -r1.82 if_tl.c
--- pci/if_tl.c=094 Mar 2007 06:02:23 -0000=091.82
+++ pci/if_tl.c=0917 Mar 2007 01:34:10 -0000
@@ -126,7 +126,7 @@
 static int tl_mediachange(struct ifnet *);
 static void tl_mediastatus(struct ifnet *, struct ifmediareq *);
 static void tl_ifwatchdog(struct ifnet *);
-static void tl_shutdown(void*);
+static void tl_shutdown(int, void*);

 static void tl_ifstart(struct ifnet *);
 static void tl_reset(tl_softc_t*);
@@ -527,7 +527,8 @@
 =09sc->tl_mii.mii_media_status &=3D ~IFM_ACTIVE;
 }

-static void tl_shutdown(v)
+static void tl_shutdown(why, v)
+=09int why;
 =09void *v;
 {
 =09tl_stop(v, 1);
Index: pci/if_txp.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_txp.c,v
retrieving revision 1.19
diff -u -r1.19 if_txp.c
--- pci/if_txp.c=094 Mar 2007 06:02:23 -0000=091.19
+++ pci/if_txp.c=0917 Mar 2007 01:34:11 -0000
@@ -91,7 +91,7 @@
 void txp_attach(struct device *, struct device *, void *);
 int txp_intr(void *);
 void txp_tick(void *);
-void txp_shutdown(void *);
+void txp_shutdown(int, void *);
 int txp_ioctl(struct ifnet *, u_long, void *);
 void txp_start(struct ifnet *);
 void txp_stop(struct txp_softc *);
@@ -925,7 +925,8 @@
 }

 void
-txp_shutdown(vsc)
+txp_shutdown(why, vsc)
+=09int why;
 =09void *vsc;
 {
 =09struct txp_softc *sc =3D (struct txp_softc *)vsc;
Index: pci/if_vge.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_vge.c,v
retrieving revision 1.34
diff -u -r1.34 if_vge.c
--- pci/if_vge.c=094 Mar 2007 06:02:23 -0000=091.34
+++ pci/if_vge.c=0917 Mar 2007 01:34:11 -0000
@@ -318,7 +318,7 @@
 static int vge_suspend(struct device *);
 static int vge_resume(struct device *);
 #endif
-static void vge_shutdown(void *);
+static void vge_shutdown(int, void *);
 static int vge_ifmedia_upd(struct ifnet *);
 static void vge_ifmedia_sts(struct ifnet *, struct ifmediareq *);

@@ -2263,7 +2263,7 @@
  * get confused by errant DMAs when rebooting.
  */
 static void
-vge_shutdown(void *arg)
+vge_shutdown(int why, void *arg)
 {
 =09struct vge_softc *sc;

Index: pci/if_vr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_vr.c,v
retrieving revision 1.85
diff -u -r1.85 if_vr.c
--- pci/if_vr.c=094 Mar 2007 06:02:23 -0000=091.85
+++ pci/if_vr.c=0917 Mar 2007 01:34:12 -0000
@@ -1440,7 +1440,7 @@

 static int=09vr_probe(struct device *, struct cfdata *, void *);
 static void=09vr_attach(struct device *, struct device *, void *);
-static void=09vr_shutdown(void *);
+static void=09vr_shutdown(int, void *);

 CFATTACH_DECL(vr, sizeof (struct vr_softc),
     vr_probe, vr_attach, NULL, NULL);
@@ -1475,7 +1475,7 @@
  * get confused by errant DMAs when rebooting.
  */
 static void
-vr_shutdown(void *arg)
+vr_shutdown(int why, void *arg)
 {
 =09struct vr_softc *sc =3D (struct vr_softc *)arg;

Index: pci/if_wm.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/if_wm.c,v
retrieving revision 1.135
diff -u -r1.135 if_wm.c
--- pci/if_wm.c=094 Mar 2007 06:02:23 -0000=091.135
+++ pci/if_wm.c=0917 Mar 2007 01:34:13 -0000
@@ -474,7 +474,7 @@
 static int=09wm_init(struct ifnet *);
 static void=09wm_stop(struct ifnet *, int);

-static void=09wm_shutdown(void *);
+static void=09wm_shutdown(int, void *);
 static void=09wm_powerhook(int, void *);

 static void=09wm_reset(struct wm_softc *);
@@ -1547,7 +1547,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-wm_shutdown(void *arg)
+wm_shutdown(int why, void *arg)
 {
 =09struct wm_softc *sc =3D arg;

@@ -1564,7 +1564,7 @@

 =09switch (why) {
 =09case PWR_SOFTSUSPEND:
-=09=09wm_shutdown(sc);
+=09=09wm_shutdown(why, sc);
 =09=09break;
 =09case PWR_SOFTRESUME:
 =09=09ifp->if_flags &=3D ~IFF_RUNNING;
Index: pci/mly.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/mly.c,v
retrieving revision 1.34
diff -u -r1.34 mly.c
--- pci/mly.c=094 Mar 2007 06:02:24 -0000=091.34
+++ pci/mly.c=0917 Mar 2007 01:34:13 -0000
@@ -116,7 +116,7 @@
 static int=09mly_fwhandshake(struct mly_softc *);
 static int=09mly_flush(struct mly_softc *);
 static int=09mly_intr(void *);
-static void=09mly_shutdown(void *);
+static void=09mly_shutdown(int, void *);

 static int=09mly_alloc_ccbs(struct mly_softc *);
 static void=09mly_check_event(struct mly_softc *);
@@ -590,7 +590,7 @@
  * Shut down all configured `mly' devices.
  */
 static void
-mly_shutdown(void *cookie)
+mly_shutdown(int why, void *cookie)
 {
 =09struct mly_softc *mly;
 =09int i;
Index: pci/pccbb.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/pccbb.c,v
retrieving revision 1.144
diff -u -r1.144 pccbb.c
--- pci/pccbb.c=094 Feb 2007 21:04:37 -0000=091.144
+++ pci/pccbb.c=0917 Mar 2007 01:34:14 -0000
@@ -382,7 +382,7 @@
 }

 static void
-pccbb_shutdown(void *arg)
+pccbb_shutdown(int why, void *arg)
 {
 =09struct pccbb_softc *sc =3D arg;
 =09pcireg_t command;
Index: pci/twa.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pci/twa.c,v
retrieving revision 1.17
diff -u -r1.17 twa.c
--- pci/twa.c=094 Mar 2007 06:02:26 -0000=091.17
+++ pci/twa.c=0917 Mar 2007 01:34:15 -0000
@@ -124,7 +124,7 @@
 =09=09=09struct twa_command_header *);

 static void=09twa_attach(struct device *, struct device *, void *);
-static void=09twa_shutdown(void *);
+static void=09twa_shutdown(int, void *);
 static int=09twa_init_connection(struct twa_softc *, uint16_t, uint32_t,
 =09=09=09=09    uint16_t, uint16_t, uint16_t, uint16_t, uint16_t *,
 =09=09=09=09=09uint16_t *, uint16_t *, uint16_t *, uint32_t *);
@@ -1636,7 +1636,7 @@
 }

 static void
-twa_shutdown(void *arg)
+twa_shutdown(int why, void *arg)
 {
 =09extern struct cfdriver twa_cd;
 =09struct twa_softc *sc;
Index: pcmcia/if_ray.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pcmcia/if_ray.c,v
retrieving revision 1.64
diff -u -r1.64 if_ray.c
--- pcmcia/if_ray.c=094 Mar 2007 06:02:27 -0000=091.64
+++ pcmcia/if_ray.c=0917 Mar 2007 01:34:16 -0000
@@ -320,7 +320,7 @@
 static void ray_reset_resetloop(void *);
 static int ray_send_auth(struct ray_softc *, u_int8_t *, u_int8_t);
 static void ray_set_pending(struct ray_softc *, u_int);
-static void ray_shutdown(void *);
+static void ray_shutdown(int, void *);
 static int ray_simple_cmd(struct ray_softc *, u_int, u_int);
 static void ray_start_assoc(struct ray_softc *);
 static void ray_start_join_net(struct ray_softc *);
@@ -905,7 +905,8 @@
 }

 static void
-ray_shutdown(arg)
+ray_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct ray_softc *sc;
Index: pcmcia/if_wi_pcmcia.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/pcmcia/if_wi_pcmcia.c,v
retrieving revision 1.75
diff -u -r1.75 if_wi_pcmcia.c
--- pcmcia/if_wi_pcmcia.c=0910 Dec 2006 03:44:28 -0000=091.75
+++ pcmcia/if_wi_pcmcia.c=0917 Mar 2007 01:34:16 -0000
@@ -88,7 +88,7 @@
 static int=09wi_pcmcia_enable(struct wi_softc *);
 static void=09wi_pcmcia_disable(struct wi_softc *);
 static void=09wi_pcmcia_powerhook(int, void *);
-static void=09wi_pcmcia_shutdown(void *);
+static void=09wi_pcmcia_shutdown(int, void *);

 #if WI_PCMCIA_SPECTRUM24T_FW
 /* support to download firmware for symbol CF card */
@@ -441,7 +441,8 @@
 }

 static void
-wi_pcmcia_shutdown(arg)
+wi_pcmcia_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct wi_pcmcia_softc *psc =3D arg;
Index: podulebus/sec.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/podulebus/sec.c,v
retrieving revision 1.8
diff -u -r1.8 sec.c
--- podulebus/sec.c=097 Mar 2007 23:17:01 -0000=091.8
+++ podulebus/sec.c=0917 Mar 2007 01:34:16 -0000
@@ -95,7 +95,7 @@
 static void sec_attach(struct device *, struct device *, void *);

 /* shutdown hook */
-static void sec_shutdown(void *);
+static void sec_shutdown(int, void *);

 /* callbacks from MI WD33C93 driver */
 static int sec_dmasetup(struct wd33c93_softc *, void **, size_t *, int,
@@ -219,7 +219,7 @@
  * the podule ROM.
  */
 static void
-sec_shutdown(void *cookie)
+sec_shutdown(int why, void *cookie)
 {
 =09struct sec_softc *sc =3D cookie;

Index: qbus/if_de.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/qbus/if_de.c,v
retrieving revision 1.21
diff -u -r1.21 if_de.c
--- qbus/if_de.c=094 Mar 2007 06:02:29 -0000=091.21
+++ qbus/if_de.c=0917 Mar 2007 01:34:16 -0000
@@ -184,7 +184,7 @@
 static=09void destart(struct ifnet *);
 static=09void derecv(struct de_softc *);
 static=09void deintr(void *);
-static=09void deshutdown(void *);
+static=09void deshutdown(int, void *);

 CFATTACH_DECL(de, sizeof(struct de_softc),
     dematch, deattach, NULL, NULL);
@@ -660,7 +660,7 @@
 }

 void
-deshutdown(void *arg)
+deshutdown(int why, void *arg)
 {
 =09struct de_softc *sc =3D arg;

Index: sbus/p9100.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/sbus/p9100.c,v
retrieving revision 1.35
diff -u -r1.35 p9100.c
--- sbus/p9100.c=094 Mar 2007 06:02:41 -0000=091.35
+++ sbus/p9100.c=0917 Mar 2007 01:34:17 -0000
@@ -160,7 +160,7 @@
 static void=09p9100_sbus_attach(struct device *, struct device *, void *);

 static void=09p9100unblank(struct device *);
-static void=09p9100_shutdown(void *);
+static void=09p9100_shutdown(int, void *);

 CFATTACH_DECL(pnozz, sizeof(struct p9100_softc),
     p9100_sbus_match, p9100_sbus_attach, NULL, NULL);
@@ -482,7 +482,8 @@
 }

 static void
-p9100_shutdown(arg)
+p9100_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct p9100_softc *sc =3D arg;
Index: scsipi/sd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/scsipi/sd.c,v
retrieving revision 1.261
diff -u -r1.261 sd.c
--- scsipi/sd.c=094 Mar 2007 06:02:43 -0000=091.261
+++ scsipi/sd.c=0917 Mar 2007 01:34:17 -0000
@@ -107,7 +107,7 @@
 static void=09sdstart(struct scsipi_periph *);
 static void=09sdrestart(void *);
 static void=09sddone(struct scsipi_xfer *, int);
-static void=09sd_shutdown(void *);
+static void=09sd_shutdown(int, void *);
 static int=09sd_interpret_sense(struct scsipi_xfer *);

 static int=09sd_mode_sense(struct sd_softc *, u_int8_t, void *, size_t, in=
t,
@@ -1336,7 +1336,7 @@
 }

 static void
-sd_shutdown(void *arg)
+sd_shutdown(int why, void *arg)
 {
 =09struct sd_softc *sd =3D arg;

Index: sysmon/sysmon_wdog.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/sysmon/sysmon_wdog.c,v
retrieving revision 1.18
diff -u -r1.18 sysmon_wdog.c
--- sysmon/sysmon_wdog.c=094 Mar 2007 06:02:45 -0000=091.18
+++ sysmon/sysmon_wdog.c=0917 Mar 2007 01:34:17 -0000
@@ -81,7 +81,7 @@
 void=09sysmon_wdog_release(struct sysmon_wdog *);
 int=09sysmon_wdog_setmode(struct sysmon_wdog *, int, u_int);
 void=09sysmon_wdog_ktickle(void *);
-void=09sysmon_wdog_shutdown(void *);
+void=09sysmon_wdog_shutdown(int, void *);

 /*
  * sysmonopen_wdog:
@@ -456,7 +456,7 @@
  *=09Perform shutdown-time operations.
  */
 void
-sysmon_wdog_shutdown(void *arg)
+sysmon_wdog_shutdown(int why, void *arg)
 {
 =09struct sysmon_wdog *smw;

Index: tc/if_fta.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/tc/if_fta.c,v
retrieving revision 1.24
diff -u -r1.24 if_fta.c
--- tc/if_fta.c=094 Mar 2007 06:02:46 -0000=091.24
+++ tc/if_fta.c=0917 Mar 2007 01:34:17 -0000
@@ -63,6 +63,19 @@
 #include <dev/ic/pdqvar.h>
 #include <dev/ic/pdqreg.h>

+
+
+static void
+pdq_tc_shutdown(int, void *);
+
+static void
+pdq_tc_shutdown(int why,
+=09=09  void *arg)
+{
+    pdq_hwreset(arg);
+}
+
+
 static int
 pdq_tc_match(
     struct device *parent,
@@ -115,7 +128,7 @@
     tc_intr_establish(parent, ta->ta_cookie, TC_IPL_NET,
 =09=09      (int (*)(void *)) pdq_interrupt, sc->sc_pdq);

-    sc->sc_ats =3D shutdownhook_establish((void (*)(void *))
pdq_hwreset, sc->sc_pdq);
+    sc->sc_ats =3D shutdownhook_establish(pdq_tc_shutdown, sc->sc_pdq);
     if (sc->sc_ats =3D=3D NULL)
 =09printf("%s: warning: couldn't establish shutdown hook\n", self->dv_xnam=
e);
 }
Index: usb/ehci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/usb/ehci.c,v
retrieving revision 1.123
diff -u -r1.123 ehci.c
--- usb/ehci.c=0926 Feb 2007 13:26:45 -0000=091.123
+++ usb/ehci.c=0917 Mar 2007 01:34:18 -0000
@@ -127,7 +127,7 @@
 =09} u;
 };

-Static void=09=09ehci_shutdown(void *);
+Static void=09=09ehci_shutdown(int, void *);
 Static void=09=09ehci_power(int, void *);

 Static usbd_status=09ehci_open(usbd_pipe_handle);
@@ -1064,7 +1064,7 @@
  * Shut down the controller when the system is going down.
  */
 void
-ehci_shutdown(void *v)
+ehci_shutdown(int why, void *v)
 {
 =09ehci_softc_t *sc =3D v;

Index: usb/ohci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/usb/ohci.c,v
retrieving revision 1.182
diff -u -r1.182 ohci.c
--- usb/ohci.c=0926 Feb 2007 13:26:46 -0000=091.182
+++ usb/ohci.c=0917 Mar 2007 01:34:19 -0000
@@ -136,7 +136,7 @@
 =09=09=09    ohci_softc_t *, int, int, usbd_xfer_handle,
 =09=09=09    ohci_soft_td_t *, ohci_soft_td_t **);

-Static void=09=09ohci_shutdown(void *v);
+Static void=09=09ohci_shutdown(int howto, void *v);
 Static void=09=09ohci_power(int, void *);
 Static usbd_status=09ohci_open(usbd_pipe_handle);
 Static void=09=09ohci_poll(struct usbd_bus *);
@@ -1009,7 +1009,7 @@
  * Shut down the controller when the system is going down.
  */
 void
-ohci_shutdown(void *v)
+ohci_shutdown(int why, void *v)
 {
 =09ohci_softc_t *sc =3D v;

Index: usb/uhci.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/usb/uhci.c,v
retrieving revision 1.208
diff -u -r1.208 uhci.c
--- usb/uhci.c=0926 Feb 2007 13:26:46 -0000=091.208
+++ usb/uhci.c=0917 Mar 2007 01:34:20 -0000
@@ -165,7 +165,7 @@
 Static void=09=09uhci_globalreset(uhci_softc_t *);
 Static usbd_status=09uhci_portreset(uhci_softc_t*, int);
 Static void=09=09uhci_reset(uhci_softc_t *);
-Static void=09=09uhci_shutdown(void *v);
+Static void=09=09uhci_shutdown(int howto, void *v);
 Static void=09=09uhci_power(int, void *);
 Static usbd_status=09uhci_run(uhci_softc_t *, int run);
 Static uhci_soft_td_t  *uhci_alloc_std(uhci_softc_t *);
@@ -714,7 +714,7 @@
  * Shut down the controller when the system is going down.
  */
 void
-uhci_shutdown(void *v)
+uhci_shutdown(int why, void *v)
 {
 =09uhci_softc_t *sc =3D v;
 =09int s;
Index: wscons/wsdisplay.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/dev/wscons/wsdisplay.c,v
retrieving revision 1.108
diff -u -r1.108 wsdisplay.c
--- wscons/wsdisplay.c=095 Mar 2007 16:06:52 -0000=091.108
+++ wscons/wsdisplay.c=0917 Mar 2007 01:34:20 -0000
@@ -104,7 +104,7 @@
 =09=09=09=09 int, int, long);
 void wsscreen_detach(struct wsscreen *);
 int wsdisplay_addscreen(struct wsdisplay_softc *, int, const char *,
const char *);
-static void wsdisplay_shutdownhook(void *);
+static void wsdisplay_shutdownhook(int, void *);
 static void wsdisplay_addscreen_print(struct wsdisplay_softc *, int, int);
 static void wsdisplay_closescreen(struct wsdisplay_softc *, struct wsscree=
n *);
 int wsdisplay_delscreen(struct wsdisplay_softc *, int, int);
@@ -2041,7 +2041,7 @@
  * Switch the console at shutdown.
  */
 static void
-wsdisplay_shutdownhook(void *arg)
+wsdisplay_shutdownhook(int why, void *arg)
 {

 =09wsdisplay_switchtoconsole();



Index: acorn26/acorn26/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn26/acorn26/machdep.c,v
retrieving revision 1.19
diff -u -r1.19 machdep.c
--- acorn26/acorn26/machdep.c=0922 Feb 2007 04:47:28 -0000=091.19
+++ acorn26/acorn26/machdep.c=0917 Mar 2007 01:35:05 -0000
@@ -105,7 +105,7 @@
 #endif

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 haltsys:
 =09if (howto & RB_HALT) {
Index: acorn32/acorn32/hydra.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/acorn32/hydra.c,v
retrieving revision 1.23
diff -u -r1.23 hydra.c
--- acorn32/acorn32/hydra.c=094 Mar 2007 05:59:05 -0000=091.23
+++ acorn32/acorn32/hydra.c=0917 Mar 2007 01:35:05 -0000
@@ -74,7 +74,7 @@
 static int hydra_print(void *, char const *);
 static int hydra_submatch(struct device *, struct cfdata *,
 =09=09=09  const int *, void *);
-static void hydra_shutdown(void *);
+static void hydra_shutdown(int, void *);

 static void hydra_reset(struct hydra_softc *);
 static void hydra_regdump(struct hydra_softc *);
@@ -272,7 +272,7 @@
 }

 static void
-hydra_shutdown(void *arg)
+hydra_shutdown(int why, void *arg)
 {
 =09struct hydra_softc *sc =3D arg;

Index: acorn32/acorn32/rpc_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/acorn32/rpc_machdep.c,v
retrieving revision 1.65
diff -u -r1.65 rpc_machdep.c
--- acorn32/acorn32/rpc_machdep.c=0924 Oct 2006 21:03:13 -0000=091.65
+++ acorn32/acorn32/rpc_machdep.c=0917 Mar 2007 01:35:06 -0000
@@ -258,7 +258,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("Halted while still in the ICE age.\n");
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
@@ -327,7 +327,7 @@
 =09=09    cmos_read(RTC_ADDR_BOOTOPTS) | 0x02);

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: acorn32/eb7500atx/eb7500atx_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/eb7500atx/eb7500atx_machdep.c,v
retrieving revision 1.6
diff -u -r1.6 eb7500atx_machdep.c
--- acorn32/eb7500atx/eb7500atx_machdep.c=0924 Oct 2006 21:03:13 -0000=091.=
6
+++ acorn32/eb7500atx/eb7500atx_machdep.c=0917 Mar 2007 01:35:06 -0000
@@ -258,7 +258,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("Halted while still in the ICE age.\n");
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
@@ -298,7 +298,7 @@
 =09 */

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: acorn32/podulebus/amps.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/podulebus/amps.c,v
retrieving revision 1.12
diff -u -r1.12 amps.c
--- acorn32/podulebus/amps.c=0913 Jul 2006 22:56:00 -0000=091.12
+++ acorn32/podulebus/amps.c=0917 Mar 2007 01:35:06 -0000
@@ -100,7 +100,7 @@
     amps_probe, amps_attach, NULL, NULL);

 int=09amps_print(void *, const char *);
-void=09amps_shutdown(void *);
+void=09amps_shutdown(int, void *);

 /*
  * Attach arguments for child devices.
@@ -208,7 +208,8 @@
  */

 /*void
-amps_shutdown(arg)
+amps_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 }*/
Index: acorn32/podulebus/icside.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/podulebus/icside.c,v
retrieving revision 1.26
diff -u -r1.26 icside.c
--- acorn32/podulebus/icside.c=099 Oct 2006 21:12:44 -0000=091.26
+++ acorn32/podulebus/icside.c=0917 Mar 2007 01:35:06 -0000
@@ -100,7 +100,7 @@
 int=09icside_probe(struct device *, struct cfdata *, void *);
 void=09icside_attach(struct device *, struct device *, void *);
 int=09icside_intr(void *);
-void=09icside_v6_shutdown(void *);
+void=09icside_v6_shutdown(int, void *);

 CFATTACH_DECL(icside, sizeof(struct icside_softc),
     icside_probe, icside_attach, NULL, NULL);
@@ -322,7 +322,7 @@
  * RISC OS will see it.
  */
 void
-icside_v6_shutdown(void *arg)
+icside_v6_shutdown(int why, void *arg)
 {
 =09struct icside_softc *sc =3D arg;

Index: acorn32/podulebus/rapide.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/podulebus/rapide.c,v
retrieving revision 1.25
diff -u -r1.25 rapide.c
--- acorn32/podulebus/rapide.c=099 Oct 2006 21:12:44 -0000=091.25
+++ acorn32/podulebus/rapide.c=0917 Mar 2007 01:35:06 -0000
@@ -128,7 +128,7 @@

 int=09rapide_probe=09__P((struct device *, struct cfdata *, void *));
 void=09rapide_attach=09__P((struct device *, struct device *, void *));
-void=09rapide_shutdown=09__P((void *arg));
+void=09rapide_shutdown=09__P((int howto, void *arg));
 int=09rapide_intr=09__P((void *));

 CFATTACH_DECL(rapide, sizeof(struct rapide_softc),
@@ -326,7 +326,8 @@
  */

 void
-rapide_shutdown(arg)
+rapide_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct rapide_softc *sc =3D arg;
Index: acorn32/podulebus/simide.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/acorn32/podulebus/simide.c,v
retrieving revision 1.24
diff -u -r1.24 simide.c
--- acorn32/podulebus/simide.c=0924 Sep 2006 23:14:58 -0000=091.24
+++ acorn32/podulebus/simide.c=0917 Mar 2007 01:35:06 -0000
@@ -98,7 +98,7 @@

 int=09simide_probe=09__P((struct device *, struct cfdata *, void *));
 void=09simide_attach=09__P((struct device *, struct device *, void *));
-void=09simide_shutdown=09__P((void *arg));
+void=09simide_shutdown=09__P((int why, void *arg));
 int=09simide_intr=09__P((void *arg));

 CFATTACH_DECL(simide, sizeof(struct simide_softc),
@@ -314,7 +314,8 @@
  */

 void
-simide_shutdown(arg)
+simide_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct simide_softc *sc =3D arg;
Index: algor/algor/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/algor/algor/machdep.c,v
retrieving revision 1.34
diff -u -r1.34 machdep.c
--- algor/algor/machdep.c=095 Mar 2007 18:05:20 -0000=091.34
+++ algor/algor/machdep.c=0917 Mar 2007 01:35:07 -0000
@@ -721,7 +721,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (boothowto & RB_HALT) {
 =09=09printf("\n");
Index: algor/dev/com_mainbus.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/algor/dev/com_mainbus.c,v
retrieving revision 1.8
diff -u -r1.8 com_mainbus.c
--- algor/dev/com_mainbus.c=0913 Jul 2006 22:56:00 -0000=091.8
+++ algor/dev/com_mainbus.c=0917 Mar 2007 01:35:07 -0000
@@ -73,7 +73,7 @@

 int=09com_mainbus_match(struct device *, struct cfdata *, void *);
 void=09com_mainbus_attach(struct device *, struct device *, void *);
-void=09com_mainbus_cleanup(void *);
+void=09com_mainbus_cleanup(int why, void *);

 CFATTACH_DECL(com_mainbus, sizeof(struct com_mainbus_softc),
     com_mainbus_match, com_mainbus_attach, NULL, NULL);
Index: alpha/a12/if_ade.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/alpha/a12/if_ade.c,v
retrieving revision 1.28
diff -u -r1.28 if_ade.c
--- alpha/a12/if_ade.c=094 Mar 2007 05:59:08 -0000=091.28
+++ alpha/a12/if_ade.c=0917 Mar 2007 01:35:08 -0000
@@ -4745,7 +4745,7 @@
 #if defined(__FreeBSD__)

 #define=09TULIP_PCI_ATTACH_ARGS=09pcici_t config_id, int unit
-#define=09TULIP_SHUTDOWN_ARGS=09int howto, void *arg
+#define=09TULIP_SHUTDOWN_ARGS=09int why, void *arg

 #if defined(TULIP_DEVCONF)
 static void tulip_shutdown(TULIP_SHUTDOWN_ARGS);
@@ -4958,7 +4958,7 @@
 =0C
 #if defined(__NetBSD__)
 #define=09TULIP_PCI_ATTACH_ARGS=09struct device * const parent, struct
device * const self, void *const aux
-#define=09TULIP_SHUTDOWN_ARGS=09void *arg
+#define=09TULIP_SHUTDOWN_ARGS=09int why, void *arg
 static int
 tulip_pci_probe(
     struct device *parent,
Index: alpha/alpha/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/alpha/alpha/machdep.c,v
retrieving revision 1.296
diff -u -r1.296 machdep.c
--- alpha/alpha/machdep.c=094 Mar 2007 14:46:45 -0000=091.296
+++ alpha/alpha/machdep.c=0917 Mar 2007 01:35:09 -0000
@@ -1047,7 +1047,7 @@
 haltsys:

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #ifdef BOOTKEY
 =09printf("hit any key to %s...\n", howto & RB_HALT ? "halt" : "reboot");
Index: alpha/pci/sio_pic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/alpha/pci/sio_pic.c,v
retrieving revision 1.34
diff -u -r1.34 sio_pic.c
--- alpha/pci/sio_pic.c=0911 Dec 2005 12:16:17 -0000=091.34
+++ alpha/pci/sio_pic.c=0917 Mar 2007 01:35:09 -0000
@@ -131,7 +131,7 @@
 void=09=09(*sio_write_elcr) __P((int, u_int8_t));
 static void=09specific_eoi __P((int));
 #ifdef BROKEN_PROM_CONSOLE
-void=09=09sio_intr_shutdown __P((void *));
+void=09=09sio_intr_shutdown __P((int, void *));
 #endif

 /******************** i82378 SIO ELCR functions ********************/
@@ -416,7 +416,8 @@

 #ifdef BROKEN_PROM_CONSOLE
 void
-sio_intr_shutdown(arg)
+sio_intr_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09/*
Index: amd64/amd64/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/amd64/amd64/machdep.c,v
retrieving revision 1.52
diff -u -r1.52 machdep.c
--- amd64/amd64/machdep.c=094 Mar 2007 14:36:11 -0000=091.52
+++ amd64/amd64/machdep.c=0917 Mar 2007 01:35:09 -0000
@@ -560,7 +560,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

         if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 #if NACPI > 0
Index: amiga/dev/ioblix_zbus.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/amiga/dev/ioblix_zbus.c,v
retrieving revision 1.13
diff -u -r1.13 ioblix_zbus.c
--- amiga/dev/ioblix_zbus.c=0911 Dec 2005 12:16:28 -0000=091.13
+++ amiga/dev/ioblix_zbus.c=0917 Mar 2007 01:35:09 -0000
@@ -68,7 +68,7 @@
 int iobzmatch(struct device *, struct cfdata *, void *);
 void iobzattach(struct device *, struct device *, void *);
 int iobzprint(void *auxp, const char *);
-void iobz_shutdown(void *);
+void iobz_shutdown(int, void *);

 CFATTACH_DECL(iobl_zbus, sizeof(struct iobz_softc),
     iobzmatch, iobzattach, NULL, NULL);
@@ -167,7 +167,7 @@
  */

 void
-iobz_shutdown(void *p) {
+iobz_shutdown(int why, void *p) {
 =09volatile int8_t *q;

 =09q =3D p;
Index: arc/arc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/arc/arc/machdep.c,v
retrieving revision 1.105
diff -u -r1.105 machdep.c
--- arc/arc/machdep.c=098 Mar 2007 05:33:04 -0000=091.105
+++ arc/arc/machdep.c=0917 Mar 2007 01:35:10 -0000
@@ -675,7 +675,7 @@
 =09if ((howto & (RB_DUMP | RB_HALT)) =3D=3D RB_DUMP)
 =09=09dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: arc/jazz/fd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/arc/jazz/fd.c,v
retrieving revision 1.29
diff -u -r1.29 fd.c
--- arc/jazz/fd.c=096 Mar 2007 13:54:44 -0000=091.29
+++ arc/jazz/fd.c=0917 Mar 2007 01:35:10 -0000
@@ -215,6 +215,7 @@
 const struct fd_type *fd_nvtotype(char *, int, int);
 #endif
 void fd_set_motor(struct fdc_softc *, int);
+void fd_motor_shutdown(int, void *);
 void fd_motor_off(void *);
 void fd_motor_on(void *);
 int fdcresult(struct fdc_softc *);
@@ -363,7 +364,7 @@
 =09mountroothook_establish(fd_mountroot_hook, &fd->sc_dev);

 =09/* Needed to power off if the motor is on when we halt. */
-=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_off, fd);
+=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_shutdown, fd);
 }

 #if 0
@@ -561,6 +562,12 @@
 }

 void
+fd_motor_shutdown(int why, void *arg)
+{
+=09fd_motor_off(arg);
+}
+
+void
 fd_motor_off(void *arg)
 {
 =09struct fd_softc *fd =3D arg;
Index: atari/atari/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/atari/atari/machdep.c,v
retrieving revision 1.143
diff -u -r1.143 machdep.c
--- atari/atari/machdep.c=094 Mar 2007 05:59:39 -0000=091.143
+++ atari/atari/machdep.c=0917 Mar 2007 01:35:11 -0000
@@ -440,7 +440,7 @@
 =09 * Call shutdown hooks. Do this _before_ anything might be
 =09 * asked to the user in case nobody is there....
 =09 */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09splhigh();=09=09=09/* extreme priority */
 =09if(howto & RB_HALT) {
Index: atari/dev/hdfd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/atari/dev/hdfd.c,v
retrieving revision 1.55
diff -u -r1.55 hdfd.c
--- atari/dev/hdfd.c=096 Mar 2007 14:45:31 -0000=091.55
+++ atari/dev/hdfd.c=0917 Mar 2007 01:35:11 -0000
@@ -300,6 +300,7 @@
 struct dkdriver fddkdriver =3D { fdstrategy };

 void=09fd_set_motor __P((struct fdc_softc *fdc, int reset));
+void=09fd_motor_shutdown __P((int why, void *arg));
 void=09fd_motor_off __P((void *arg));
 void=09fd_motor_on __P((void *arg));
 int=09fdcresult __P((struct fdc_softc *fdc));
@@ -550,7 +551,7 @@
 =09disk_attach(&fd->sc_dk);

 =09/* Needed to power off if the motor is on when we halt. */
-=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_off, fd);
+=09fd->sc_sdhook =3D shutdownhook_establish(fd_motor_shutdown, fd);
 }

 /*
@@ -760,6 +761,14 @@
 }

 void
+fd_motor_shutdown(why, arg)
+=09int why;
+=09void *arg;
+{
+=09fd_motor_off(arg);
+}
+
+void
 fd_motor_off(arg)
 =09void *arg;
 {
Index: bebox/bebox/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/bebox/bebox/machdep.c,v
retrieving revision 1.89
diff -u -r1.89 machdep.c
--- bebox/bebox/machdep.c=099 Feb 2007 21:55:02 -0000=091.89
+++ bebox/bebox/machdep.c=0917 Mar 2007 01:35:11 -0000
@@ -411,7 +411,7 @@
 =09}
 =09splhigh();
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("halted\n\n");
 #if 0
 =09=09ppc_exit();
@@ -419,7 +419,7 @@
 =09}
 =09if (!cold && (howto & RB_DUMP))
 =09=09oea_dumpsys();
-=09doshutdownhooks();
+=09doshutdownhooks(howto);
 =09printf("rebooting\n\n");
 =09if (what && *what) {
 =09=09if (strlen(what) > sizeof str - 5)
Index: cats/cats/cats_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/cats/cats/cats_machdep.c,v
retrieving revision 1.58
diff -u -r1.58 cats_machdep.c
--- cats/cats/cats_machdep.c=0924 Nov 2006 22:04:21 -0000=091.58
+++ cats/cats/cats_machdep.c=0917 Mar 2007 01:35:12 -0000
@@ -237,7 +237,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -266,7 +266,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: cesfic/cesfic/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/cesfic/cesfic/machdep.c,v
retrieving revision 1.37
diff -u -r1.37 machdep.c
--- cesfic/cesfic/machdep.c=095 Mar 2007 12:50:15 -0000=091.37
+++ cesfic/cesfic/machdep.c=0917 Mar 2007 01:35:12 -0000
@@ -446,7 +446,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {
Index: cobalt/cobalt/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/cobalt/cobalt/machdep.c,v
retrieving revision 1.80
diff -u -r1.80 machdep.c
--- cobalt/cobalt/machdep.c=095 Mar 2007 21:05:00 -0000=091.80
+++ cobalt/cobalt/machdep.c=0917 Mar 2007 01:35:12 -0000
@@ -393,7 +393,7 @@
 =09=09dumpsys();

  haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: dreamcast/dreamcast/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/dreamcast/dreamcast/machdep.c,v
retrieving revision 1.33
diff -u -r1.33 machdep.c
--- dreamcast/dreamcast/machdep.c=0922 Feb 2007 05:19:00 -0000=091.33
+++ dreamcast/dreamcast/machdep.c=0917 Mar 2007 01:35:12 -0000
@@ -247,7 +247,7 @@
 =09=09dumpsys();

  haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: evbarm/adi_brh/brh_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/adi_brh/brh_machdep.c,v
retrieving revision 1.26
diff -u -r1.26 brh_machdep.c
--- evbarm/adi_brh/brh_machdep.c=0924 Nov 2006 22:04:22 -0000=091.26
+++ evbarm/adi_brh/brh_machdep.c=0917 Mar 2007 01:35:13 -0000
@@ -243,7 +243,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -271,7 +271,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/armadillo/armadillo9_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/armadillo/armadillo9_machdep.c,v
retrieving revision 1.9
diff -u -r1.9 armadillo9_machdep.c
--- evbarm/armadillo/armadillo9_machdep.c=0922 Feb 2007 05:25:22 -0000=091.=
9
+++ evbarm/armadillo/armadillo9_machdep.c=0917 Mar 2007 01:35:13 -0000
@@ -347,7 +347,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("\r\n");
 =09=09printf("The operating system has halted.\r\n");
 =09=09printf("Please press any key to reboot.\r\n");
@@ -376,7 +376,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/g42xxeb/g42xxeb_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c,v
retrieving revision 1.10
diff -u -r1.10 g42xxeb_machdep.c
--- evbarm/g42xxeb/g42xxeb_machdep.c=0924 Nov 2006 22:04:22 -0000=091.10
+++ evbarm/g42xxeb/g42xxeb_machdep.c=0917 Mar 2007 01:35:13 -0000
@@ -282,7 +282,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -312,7 +312,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/gumstix/gumstix_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/gumstix/gumstix_machdep.c,v
retrieving revision 1.3
diff -u -r1.3 gumstix_machdep.c
--- evbarm/gumstix/gumstix_machdep.c=0918 Jan 2007 10:06:47 -0000=091.3
+++ evbarm/gumstix/gumstix_machdep.c=0917 Mar 2007 01:35:13 -0000
@@ -312,7 +312,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -339,7 +339,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/hdl_g/hdlg_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/hdl_g/hdlg_machdep.c,v
retrieving revision 1.4
diff -u -r1.4 hdlg_machdep.c
--- evbarm/hdl_g/hdlg_machdep.c=0918 Dec 2006 13:50:58 -0000=091.4
+++ evbarm/hdl_g/hdlg_machdep.c=0917 Mar 2007 01:35:14 -0000
@@ -730,7 +730,7 @@

 haltsys:
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/integrator/integrator_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/integrator/integrator_machdep.c,v
retrieving revision 1.56
diff -u -r1.56 integrator_machdep.c
--- evbarm/integrator/integrator_machdep.c=0917 May 2006 04:22:46 -0000=091=
.56
+++ evbarm/integrator/integrator_machdep.c=0917 Mar 2007 01:35:14 -0000
@@ -273,7 +273,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -302,7 +302,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/iq80310/iq80310_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/iq80310/iq80310_machdep.c,v
retrieving revision 1.68
diff -u -r1.68 iq80310_machdep.c
--- evbarm/iq80310/iq80310_machdep.c=0924 Nov 2006 22:04:22 -0000=091.68
+++ evbarm/iq80310/iq80310_machdep.c=0917 Mar 2007 01:35:14 -0000
@@ -243,7 +243,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -272,7 +272,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/iq80321/iq80321_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/iq80321/iq80321_machdep.c,v
retrieving revision 1.37
diff -u -r1.37 iq80321_machdep.c
--- evbarm/iq80321/iq80321_machdep.c=0924 Nov 2006 22:04:22 -0000=091.37
+++ evbarm/iq80321/iq80321_machdep.c=0917 Mar 2007 01:35:14 -0000
@@ -269,7 +269,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -297,7 +297,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/ixdp425/ixdp425_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/ixdp425/ixdp425_machdep.c,v
retrieving revision 1.15
diff -u -r1.15 ixdp425_machdep.c
--- evbarm/ixdp425/ixdp425_machdep.c=0917 May 2006 04:22:46 -0000=091.15
+++ evbarm/ixdp425/ixdp425_machdep.c=0917 Mar 2007 01:35:15 -0000
@@ -261,7 +261,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -289,7 +289,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/ixm1200/ixm1200_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c,v
retrieving revision 1.32
diff -u -r1.32 ixm1200_machdep.c
--- evbarm/ixm1200/ixm1200_machdep.c=0917 May 2006 04:22:46 -0000=091.32
+++ evbarm/ixm1200/ixm1200_machdep.c=0917 Mar 2007 01:35:15 -0000
@@ -246,7 +246,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("Halted while still in the ICE age.\n");
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
@@ -275,7 +275,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/lubbock/lubbock_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/lubbock/lubbock_machdep.c,v
retrieving revision 1.14
diff -u -r1.14 lubbock_machdep.c
--- evbarm/lubbock/lubbock_machdep.c=0924 Nov 2006 22:04:22 -0000=091.14
+++ evbarm/lubbock/lubbock_machdep.c=0917 Mar 2007 01:35:15 -0000
@@ -287,7 +287,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -317,7 +317,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/npwr_fc/npwr_fc_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c,v
retrieving revision 1.4
diff -u -r1.4 npwr_fc_machdep.c
--- evbarm/npwr_fc/npwr_fc_machdep.c=0924 Nov 2006 22:04:22 -0000=091.4
+++ evbarm/npwr_fc/npwr_fc_machdep.c=0917 Mar 2007 01:35:15 -0000
@@ -269,7 +269,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -297,7 +297,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/nslu2/nslu2_leds.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/nslu2/nslu2_leds.c,v
retrieving revision 1.4
diff -u -r1.4 nslu2_leds.c
--- evbarm/nslu2/nslu2_leds.c=0910 Dec 2006 10:23:37 -0000=091.4
+++ evbarm/nslu2/nslu2_leds.c=0917 Mar 2007 01:35:15 -0000
@@ -171,7 +171,7 @@
 }

 static void
-slugled_shutdown(void *arg)
+slugled_shutdown(int why, void *arg)
 {
 =09struct slugled_softc *sc =3D arg;
 =09uint32_t reg;
Index: evbarm/nslu2/nslu2_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/nslu2/nslu2_machdep.c,v
retrieving revision 1.4
diff -u -r1.4 nslu2_machdep.c
--- evbarm/nslu2/nslu2_machdep.c=0910 Dec 2006 10:04:40 -0000=091.4
+++ evbarm/nslu2/nslu2_machdep.c=0917 Mar 2007 01:35:15 -0000
@@ -297,7 +297,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -324,7 +324,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/osk5912/osk5912_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/osk5912/osk5912_machdep.c,v
retrieving revision 1.1
diff -u -r1.1 osk5912_machdep.c
--- evbarm/osk5912/osk5912_machdep.c=096 Jan 2007 08:16:26 -0000=091.1
+++ evbarm/osk5912/osk5912_machdep.c=0917 Mar 2007 01:35:16 -0000
@@ -262,7 +262,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -292,7 +292,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/smdk2xx0/smdk2410_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/smdk2xx0/smdk2410_machdep.c,v
retrieving revision 1.16
diff -u -r1.16 smdk2410_machdep.c
--- evbarm/smdk2xx0/smdk2410_machdep.c=0917 May 2006 04:22:46 -0000=091.16
+++ evbarm/smdk2xx0/smdk2410_machdep.c=0917 Mar 2007 01:35:16 -0000
@@ -303,7 +303,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -331,7 +331,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/smdk2xx0/smdk2800_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/smdk2xx0/smdk2800_machdep.c,v
retrieving revision 1.24
diff -u -r1.24 smdk2800_machdep.c
--- evbarm/smdk2xx0/smdk2800_machdep.c=0917 May 2006 04:22:46 -0000=091.24
+++ evbarm/smdk2xx0/smdk2800_machdep.c=0917 Mar 2007 01:35:16 -0000
@@ -297,7 +297,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -325,7 +325,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/tsarm/tsarm_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/tsarm/tsarm_machdep.c,v
retrieving revision 1.5
diff -u -r1.5 tsarm_machdep.c
--- evbarm/tsarm/tsarm_machdep.c=0924 Nov 2006 22:04:22 -0000=091.5
+++ evbarm/tsarm/tsarm_machdep.c=0917 Mar 2007 01:35:16 -0000
@@ -262,7 +262,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("\r\n");
 =09=09printf("The operating system has halted.\r\n");
 =09=09printf("Please press any key to reboot.\r\n");
@@ -291,7 +291,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbarm/viper/viper_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbarm/viper/viper_machdep.c,v
retrieving revision 1.6
diff -u -r1.6 viper_machdep.c
--- evbarm/viper/viper_machdep.c=0924 Nov 2006 22:04:22 -0000=091.6
+++ evbarm/viper/viper_machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -286,7 +286,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -316,7 +316,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: evbmips/alchemy/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbmips/alchemy/machdep.c,v
retrieving revision 1.34
diff -u -r1.34 machdep.c
--- evbmips/alchemy/machdep.c=096 Mar 2007 00:48:07 -0000=091.34
+++ evbmips/alchemy/machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -487,7 +487,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((boothowto & RB_POWERDOWN) =3D=3D RB_POWERDOWN)
 =09=09if (board && board->ab_poweroff)
Index: evbmips/atheros/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbmips/atheros/machdep.c,v
retrieving revision 1.7
diff -u -r1.7 machdep.c
--- evbmips/atheros/machdep.c=096 Mar 2007 00:48:08 -0000=091.7
+++ evbmips/atheros/machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -452,7 +452,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if 0
 =09if ((boothowto & RB_POWERDOWN) =3D=3D RB_POWERDOWN)
Index: evbmips/malta/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbmips/malta/machdep.c,v
retrieving revision 1.25
diff -u -r1.25 machdep.c
--- evbmips/malta/machdep.c=096 Mar 2007 00:48:08 -0000=091.25
+++ evbmips/malta/machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -433,7 +433,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: evbmips/malta/pci/pcib.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbmips/malta/pci/pcib.c,v
retrieving revision 1.12
diff -u -r1.12 pcib.c
--- evbmips/malta/pci/pcib.c=0912 May 2006 10:58:12 -0000=091.12
+++ evbmips/malta/pci/pcib.c=0917 Mar 2007 01:35:17 -0000
@@ -584,7 +584,7 @@
 }

 static void
-pcib_cleanup(void *arg)
+pcib_cleanup(int why, void *arg)
 {

 =09my_sc->sc_imask =3D 0xffff;
Index: evbppc/ev64260/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/ev64260/machdep.c,v
retrieving revision 1.19
diff -u -r1.19 machdep.c
--- evbppc/ev64260/machdep.c=0924 Dec 2005 20:07:03 -0000=091.19
+++ evbppc/ev64260/machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -382,14 +382,14 @@
 =09}
 =09splhigh();
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("halted\n\n");
 =09=09cnhalt();
 =09=09while(1);
 =09}
 =09if (!cold && (howto & RB_DUMP))
 =09=09oea_dumpsys();
-=09doshutdownhooks();
+=09doshutdownhooks(howto);
 =09printf("rebooting\n\n");
 =09if (what && *what) {
 =09=09if (strlen(what) > sizeof str - 5)
Index: evbppc/explora/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/explora/machdep.c,v
retrieving revision 1.18
diff -u -r1.18 machdep.c
--- evbppc/explora/machdep.c=094 Mar 2007 05:59:46 -0000=091.18
+++ evbppc/explora/machdep.c=0917 Mar 2007 01:35:17 -0000
@@ -389,7 +389,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09/*XXX dumpsys()*/;

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("halted\n\n");
Index: evbppc/obs405/obs200_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/obs405/obs200_machdep.c,v
retrieving revision 1.5
diff -u -r1.5 obs200_machdep.c
--- evbppc/obs405/obs200_machdep.c=0929 Nov 2006 19:56:47 -0000=091.5
+++ evbppc/obs405/obs200_machdep.c=0917 Mar 2007 01:35:18 -0000
@@ -242,7 +242,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09ibm4xx_dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09  /* Power off here if we know how...*/
Index: evbppc/obs405/obs266_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/obs405/obs266_machdep.c,v
retrieving revision 1.6
diff -u -r1.6 obs266_machdep.c
--- evbppc/obs405/obs266_machdep.c=0929 Nov 2006 19:56:47 -0000=091.6
+++ evbppc/obs405/obs266_machdep.c=0917 Mar 2007 01:35:18 -0000
@@ -236,7 +236,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09ibm4xx_dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09  /* Power off here if we know how...*/
Index: evbppc/virtex/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/virtex/machdep.c,v
retrieving revision 1.4
diff -u -r1.4 machdep.c
--- evbppc/virtex/machdep.c=094 Mar 2007 05:59:46 -0000=091.4
+++ evbppc/virtex/machdep.c=0917 Mar 2007 01:35:18 -0000
@@ -407,7 +407,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09=09/* Power off here if we know how...*/
Index: evbppc/virtex/dev/if_temac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/virtex/dev/if_temac.c,v
retrieving revision 1.2
diff -u -r1.2 if_temac.c
--- evbppc/virtex/dev/if_temac.c=094 Mar 2007 05:59:46 -0000=091.2
+++ evbppc/virtex/dev/if_temac.c=0917 Mar 2007 01:35:18 -0000
@@ -944,7 +944,7 @@
  * External hooks.
  */
 static void
-temac_shutdown(void *arg)
+temac_shutdown(int why, void *arg)
 {
 =09struct temac_softc =09*sc =3D (struct temac_softc *)arg;

Index: evbppc/virtex/dev/tft.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/virtex/dev/tft.c,v
retrieving revision 1.2
diff -u -r1.2 tft.c
--- evbppc/virtex/dev/tft.c=094 Mar 2007 05:59:46 -0000=091.2
+++ evbppc/virtex/dev/tft.c=0917 Mar 2007 01:35:18 -0000
@@ -181,7 +181,7 @@
 }

 void
-tft_shutdown(void *arg)
+tft_shutdown(int why, void *arg)
 {
 =09struct tft_softc =09*sc =3D arg;

Index: evbppc/virtex/dev/tft_ll.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/virtex/dev/tft_ll.c,v
retrieving revision 1.2
diff -u -r1.2 tft_ll.c
--- evbppc/virtex/dev/tft_ll.c=094 Mar 2007 05:59:46 -0000=091.2
+++ evbppc/virtex/dev/tft_ll.c=0917 Mar 2007 01:35:18 -0000
@@ -216,7 +216,7 @@
 }

 static void
-ll_tft_shutdown(void *arg)
+ll_tft_shutdown(int why, void *arg)
 {
 =09struct ll_tft_softc =09*lsc =3D arg;

Index: evbppc/walnut/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbppc/walnut/machdep.c,v
retrieving revision 1.35
diff -u -r1.35 machdep.c
--- evbppc/walnut/machdep.c=094 Mar 2007 05:59:46 -0000=091.35
+++ evbppc/walnut/machdep.c=0917 Mar 2007 01:35:18 -0000
@@ -491,7 +491,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09  /* Power off here if we know how...*/
Index: evbsh3/evbsh3/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/evbsh3/evbsh3/machdep.c,v
retrieving revision 1.57
diff -u -r1.57 machdep.c
--- evbsh3/evbsh3/machdep.c=0917 Mar 2006 16:06:51 -0000=091.57
+++ evbsh3/evbsh3/machdep.c=0917 Mar 2007 01:35:19 -0000
@@ -204,7 +204,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: ews4800mips/ews4800mips/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/ews4800mips/ews4800mips/machdep.c,v
retrieving revision 1.6
diff -u -r1.6 machdep.c
--- ews4800mips/ews4800mips/machdep.c=094 Mar 2007 12:24:09 -0000=091.6
+++ ews4800mips/ews4800mips/machdep.c=0917 Mar 2007 01:35:19 -0000
@@ -293,7 +293,7 @@
 =09=09dumpsys();

  haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09=09if (platform.poweroff) {
Index: hp300/hp300/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/hp300/hp300/machdep.c,v
retrieving revision 1.194
diff -u -r1.194 machdep.c
--- hp300/hp300/machdep.c=095 Mar 2007 12:50:15 -0000=091.194
+++ hp300/hp300/machdep.c=0917 Mar 2007 01:35:19 -0000
@@ -678,7 +678,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {
Index: hp700/hp700/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/hp700/hp700/machdep.c,v
retrieving revision 1.37
diff -u -r1.37 machdep.c
--- hp700/hp700/machdep.c=097 Mar 2007 11:29:46 -0000=091.37
+++ hp700/hp700/machdep.c=0917 Mar 2007 01:35:20 -0000
@@ -1378,7 +1378,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #ifdef POWER_SWITCH
 =09if (pwr_sw_state =3D=3D 0 &&
Index: hpcarm/hpcarm/hpc_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/hpcarm/hpcarm/hpc_machdep.c,v
retrieving revision 1.82
diff -u -r1.82 hpc_machdep.c
--- hpcarm/hpcarm/hpc_machdep.c=097 Oct 2006 13:53:24 -0000=091.82
+++ hpcarm/hpcarm/hpc_machdep.c=0917 Mar 2007 01:35:20 -0000
@@ -211,7 +211,7 @@
 =09 * and crash to earth fast.
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("Halted while still in the ICE age.\n");
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
@@ -246,7 +246,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQs are disabled. */
 =09IRQdisable;
Index: hpcmips/hpcmips/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/hpcmips/hpcmips/machdep.c,v
retrieving revision 1.93
diff -u -r1.93 machdep.c
--- hpcmips/hpcmips/machdep.c=098 Mar 2007 06:57:14 -0000=091.93
+++ hpcmips/hpcmips/machdep.c=0917 Mar 2007 01:35:20 -0000
@@ -656,7 +656,7 @@
  haltsys:

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Finally, halt/reboot the system. */
 =09if (howto & RB_HALT) {
Index: hpcsh/hpcsh/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/hpcsh/hpcsh/machdep.c,v
retrieving revision 1.55
diff -u -r1.55 machdep.c
--- hpcsh/hpcsh/machdep.c=094 Mar 2007 05:59:54 -0000=091.55
+++ hpcsh/hpcsh/machdep.c=0917 Mar 2007 01:35:21 -0000
@@ -400,7 +400,7 @@

  haltsys:
 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Finally, halt/reboot the system. */
 =09if (howto & RB_HALT) {
Index: i386/i386/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/i386/i386/machdep.c,v
retrieving revision 1.601
diff -u -r1.601 machdep.c
--- i386/i386/machdep.c=097 Mar 2007 21:43:43 -0000=091.601
+++ i386/i386/machdep.c=0917 Mar 2007 01:35:21 -0000
@@ -870,7 +870,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #ifdef MULTIPROCESSOR
 =09x86_broadcast_ipi(X86_IPI_HALT);
Index: ibmnws/ibmnws/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/ibmnws/ibmnws/machdep.c,v
retrieving revision 1.8
diff -u -r1.8 machdep.c
--- ibmnws/ibmnws/machdep.c=099 Feb 2007 21:55:05 -0000=091.8
+++ ibmnws/ibmnws/machdep.c=0917 Mar 2007 01:35:22 -0000
@@ -264,7 +264,7 @@
 =09=09oea_dumpsys();

 halt_sys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
                 printf("\n");
Index: iyonix/iyonix/iyonix_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/iyonix/iyonix/iyonix_machdep.c,v
retrieving revision 1.6
diff -u -r1.6 iyonix_machdep.c
--- iyonix/iyonix/iyonix_machdep.c=0927 Jun 2006 23:02:04 -0000=091.6
+++ iyonix/iyonix/iyonix_machdep.c=0917 Mar 2007 01:35:22 -0000
@@ -274,7 +274,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -302,7 +302,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: landisk/landisk/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/landisk/landisk/machdep.c,v
retrieving revision 1.5
diff -u -r1.5 machdep.c
--- landisk/landisk/machdep.c=094 Mar 2007 06:00:03 -0000=091.5
+++ landisk/landisk/machdep.c=0917 Mar 2007 01:35:22 -0000
@@ -341,7 +341,7 @@
 =09}

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09=09_reg_write_1(LANDISK_PWRMNG, PWRMNG_POWEROFF);
Index: luna68k/luna68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/luna68k/luna68k/machdep.c,v
retrieving revision 1.51
diff -u -r1.51 machdep.c
--- luna68k/luna68k/machdep.c=095 Mar 2007 12:50:16 -0000=091.51
+++ luna68k/luna68k/machdep.c=0917 Mar 2007 01:35:23 -0000
@@ -416,7 +416,7 @@

 haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Finally, halt/reboot the system. */
 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
Index: mac68k/mac68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mac68k/mac68k/machdep.c,v
retrieving revision 1.314
diff -u -r1.314 machdep.c
--- mac68k/mac68k/machdep.c=095 Mar 2007 12:50:16 -0000=091.314
+++ mac68k/mac68k/machdep.c=0917 Mar 2007 01:35:24 -0000
@@ -566,7 +566,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09=09/* First try to power down under VIA control. */
Index: macppc/dev/esp.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/macppc/dev/esp.c,v
retrieving revision 1.22
diff -u -r1.22 esp.c
--- macppc/dev/esp.c=095 Mar 2007 10:50:24 -0000=091.22
+++ macppc/dev/esp.c=0917 Mar 2007 01:35:24 -0000
@@ -526,7 +526,8 @@
 }

 void
-esp_shutdownhook(arg)
+esp_shutdownhook(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct ncr53c9x_softc *sc =3D arg;
Index: macppc/dev/if_wi_obio.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/macppc/dev/if_wi_obio.c,v
retrieving revision 1.13
diff -u -r1.13 if_wi_obio.c
--- macppc/dev/if_wi_obio.c=0924 Sep 2006 03:53:08 -0000=091.13
+++ macppc/dev/if_wi_obio.c=0917 Mar 2007 01:35:24 -0000
@@ -190,7 +190,8 @@
 }

 void
-wi_obio_shutdown(arg)
+wi_obio_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct wi_softc *sc =3D arg;
Index: macppc/dev/mesh.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/macppc/dev/mesh.c,v
retrieving revision 1.25
diff -u -r1.25 mesh.c
--- macppc/dev/mesh.c=0929 Mar 2006 04:16:45 -0000=091.25
+++ macppc/dev/mesh.c=0917 Mar 2007 01:35:24 -0000
@@ -296,7 +296,8 @@
 }

 void
-mesh_shutdownhook(arg)
+mesh_shutdownhook(why, arg)
+=09int why;
 =09void *arg;
 {
 =09struct mesh_softc *sc =3D arg;
Index: macppc/macppc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/macppc/macppc/machdep.c,v
retrieving revision 1.147
diff -u -r1.147 machdep.c
--- macppc/macppc/machdep.c=099 Feb 2007 21:55:06 -0000=091.147
+++ macppc/macppc/machdep.c=0917 Mar 2007 01:35:24 -0000
@@ -504,7 +504,7 @@
 =09if (!cold && (howto & RB_DUMP))
 =09=09dumpsys();

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
 =09=09delay(1000000);
Index: mips/alchemy/dev/aurtc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mips/alchemy/dev/aurtc.c,v
retrieving revision 1.11
diff -u -r1.11 aurtc.c
--- mips/alchemy/dev/aurtc.c=094 Sep 2006 23:45:30 -0000=091.11
+++ mips/alchemy/dev/aurtc.c=0917 Mar 2007 01:35:24 -0000
@@ -174,7 +174,7 @@
 }

 void
-aurtc_shutdown(void *arg)
+aurtc_shutdown(int why, void *arg)
 {

 =09/* wait for the clock register to be idle */
Index: mips/alchemy/dev/if_aumac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mips/alchemy/dev/if_aumac.c,v
retrieving revision 1.20
diff -u -r1.20 if_aumac.c
--- mips/alchemy/dev/if_aumac.c=096 Mar 2007 00:43:50 -0000=091.20
+++ mips/alchemy/dev/if_aumac.c=0917 Mar 2007 01:35:25 -0000
@@ -382,7 +382,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-aumac_shutdown(void *arg)
+aumac_shutdown(int why, void *arg)
 {
 =09struct aumac_softc *sc =3D arg;

Index: mips/atheros/dev/if_ae.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mips/atheros/dev/if_ae.c,v
retrieving revision 1.5
diff -u -r1.5 if_ae.c
--- mips/atheros/dev/if_ae.c=094 Mar 2007 06:00:11 -0000=091.5
+++ mips/atheros/dev/if_ae.c=0917 Mar 2007 01:35:25 -0000
@@ -553,7 +553,7 @@
  *=09Make sure the interface is stopped at reboot time.
  */
 static void
-ae_shutdown(void *arg)
+ae_shutdown(int why, void *arg)
 {
 =09struct ae_softc *sc =3D arg;

Index: mips/atheros/dev/if_ath_arbus.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mips/atheros/dev/if_ath_arbus.c,v
retrieving revision 1.9
diff -u -r1.9 if_ath_arbus.c
--- mips/atheros/dev/if_ath_arbus.c=0924 Jan 2007 13:08:11 -0000=091.9
+++ mips/atheros/dev/if_ath_arbus.c=0917 Mar 2007 01:35:25 -0000
@@ -190,7 +190,7 @@
 }

 static void
-ath_arbus_shutdown(void *opaque)
+ath_arbus_shutdown(int why, void *opaque)
 {
 =09struct ath_arbus_softc *asc =3D opaque;

Index: mipsco/mipsco/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mipsco/mipsco/machdep.c,v
retrieving revision 1.54
diff -u -r1.54 machdep.c
--- mipsco/mipsco/machdep.c=097 Mar 2007 22:43:32 -0000=091.54
+++ mipsco/mipsco/machdep.c=0917 Mar 2007 01:35:25 -0000
@@ -531,7 +531,7 @@
 haltsys:

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN)
 =09=09prom_halt(0x80);=09/* rom monitor RB_PWOFF */
Index: mmeye/mmeye/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mmeye/mmeye/machdep.c,v
retrieving revision 1.38
diff -u -r1.38 machdep.c
--- mmeye/mmeye/machdep.c=0924 Dec 2005 20:07:19 -0000=091.38
+++ mmeye/mmeye/machdep.c=0917 Mar 2007 01:35:26 -0000
@@ -209,7 +209,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: mvme68k/dev/clock_pcc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mvme68k/dev/clock_pcc.c,v
retrieving revision 1.16
diff -u -r1.16 clock_pcc.c
--- mvme68k/dev/clock_pcc.c=0911 Dec 2005 12:18:17 -0000=091.16
+++ mvme68k/dev/clock_pcc.c=0917 Mar 2007 01:35:26 -0000
@@ -237,7 +237,8 @@

 /* ARGSUSED */
 void
-clock_pcc_shutdown(arg)
+clock_pcc_shutdown(why, arg)
+=09int why;
 =09void *arg;
 {

Index: mvme68k/mvme68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mvme68k/mvme68k/machdep.c,v
retrieving revision 1.121
diff -u -r1.121 machdep.c
--- mvme68k/mvme68k/machdep.c=095 Mar 2007 12:50:16 -0000=091.121
+++ mvme68k/mvme68k/machdep.c=0917 Mar 2007 01:35:26 -0000
@@ -762,7 +762,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {
Index: mvmeppc/mvmeppc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/mvmeppc/mvmeppc/machdep.c,v
retrieving revision 1.22
diff -u -r1.22 machdep.c
--- mvmeppc/mvmeppc/machdep.c=099 Feb 2007 21:55:07 -0000=091.22
+++ mvmeppc/mvmeppc/machdep.c=0917 Mar 2007 01:35:26 -0000
@@ -380,7 +380,7 @@
 =09=09oea_dumpsys();

 halt_sys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
                 printf("\n");
Index: netwinder/netwinder/netwinder_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/netwinder/netwinder/netwinder_machdep.c,v
retrieving revision 1.64
diff -u -r1.64 netwinder_machdep.c
--- netwinder/netwinder/netwinder_machdep.c=094 Mar 2007 06:00:24 -0000=091=
.64
+++ netwinder/netwinder/netwinder_machdep.c=0917 Mar 2007 01:35:26 -0000
@@ -269,7 +269,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -299,7 +299,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: news68k/news68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/news68k/news68k/machdep.c,v
retrieving revision 1.67
diff -u -r1.67 machdep.c
--- news68k/news68k/machdep.c=095 Mar 2007 12:50:17 -0000=091.67
+++ news68k/news68k/machdep.c=0917 Mar 2007 01:35:27 -0000
@@ -408,7 +408,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {
Index: newsmips/newsmips/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/newsmips/newsmips/machdep.c,v
retrieving revision 1.91
diff -u -r1.91 machdep.c
--- newsmips/newsmips/machdep.c=098 Mar 2007 22:17:47 -0000=091.91
+++ newsmips/newsmips/machdep.c=0917 Mar 2007 01:35:27 -0000
@@ -608,7 +608,7 @@
 haltsys:

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN)
 =09=09prom_halt(0x80);=09/* rom monitor RB_PWOFF */
Index: next68k/dev/mb8795.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/next68k/dev/mb8795.c,v
retrieving revision 1.40
diff -u -r1.40 mb8795.c
--- next68k/dev/mb8795.c=094 Mar 2007 06:00:27 -0000=091.40
+++ next68k/dev/mb8795.c=0917 Mar 2007 01:35:27 -0000
@@ -572,7 +572,7 @@
 }

 void
-mb8795_shutdown(void *arg)
+mb8795_shutdown(int why, void *arg)
 {
 =09struct mb8795_softc *sc =3D (struct mb8795_softc *)arg;

Index: next68k/next68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/next68k/next68k/machdep.c,v
retrieving revision 1.80
diff -u -r1.80 machdep.c
--- next68k/next68k/machdep.c=095 Mar 2007 12:50:17 -0000=091.80
+++ next68k/next68k/machdep.c=0917 Mar 2007 01:35:27 -0000
@@ -565,7 +565,7 @@

  haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {
Index: ofppc/ofppc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/ofppc/ofppc/machdep.c,v
retrieving revision 1.90
diff -u -r1.90 machdep.c
--- ofppc/ofppc/machdep.c=099 Feb 2007 21:55:07 -0000=091.90
+++ ofppc/ofppc/machdep.c=0917 Mar 2007 01:35:27 -0000
@@ -290,13 +290,13 @@
 =09}
 =09splhigh();
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("halted\n\n");
 =09=09ppc_exit();
 =09}
 =09if (!cold && (howto & RB_DUMP))
 =09=09oea_dumpsys();
-=09doshutdownhooks();
+=09doshutdownhooks(howto);
 =09printf("rebooting\n\n");
 =09if (what && *what) {
 =09=09if (strlen(what) > sizeof str - 5)
Index: pc532/dev/scn.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/pc532/dev/scn.c,v
retrieving revision 1.79
diff -u -r1.79 scn.c
--- pc532/dev/scn.c=094 Mar 2007 06:00:28 -0000=091.79
+++ pc532/dev/scn.c=0917 Mar 2007 01:35:28 -0000
@@ -1905,7 +1905,7 @@
 }

 void
-scncnreinit(void *v)
+scncnreinit(int why, void *v)
 {
 =09volatile u_char *du_base =3D DUADDR();

Index: pc532/pc532/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/pc532/pc532/machdep.c,v
retrieving revision 1.168
diff -u -r1.168 machdep.c
--- pc532/pc532/machdep.c=094 Mar 2007 06:00:29 -0000=091.168
+++ pc532/pc532/machdep.c=0917 Mar 2007 01:35:28 -0000
@@ -504,7 +504,7 @@
 =09 * Call shutdown hooks. Do this _before_ anything might be
 =09 * asked to the user in case nobody is there....
 =09 */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: playstation2/playstation2/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/playstation2/playstation2/machdep.c,v
retrieving revision 1.19
diff -u -r1.19 machdep.c
--- playstation2/playstation2/machdep.c=095 Mar 2007 21:05:01 -0000=091.19
+++ playstation2/playstation2/machdep.c=0917 Mar 2007 01:35:28 -0000
@@ -262,7 +262,7 @@
 =09=09dumpsys();

  haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN)
 =09=09sifbios_halt(0); /* power down */
Index: pmax/pmax/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/pmax/pmax/machdep.c,v
retrieving revision 1.218
diff -u -r1.218 machdep.c
--- pmax/pmax/machdep.c=096 Mar 2007 22:31:36 -0000=091.218
+++ pmax/pmax/machdep.c=0917 Mar 2007 01:35:28 -0000
@@ -553,7 +553,7 @@
 haltsys:

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Finally, halt/reboot the system. */
 =09printf("%s\n\n", ((howto & RB_HALT) !=3D 0) ? "halted." : "rebooting...=
");
Index: pmppc/pmppc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/pmppc/pmppc/machdep.c,v
retrieving revision 1.22
diff -u -r1.22 machdep.c
--- pmppc/pmppc/machdep.c=099 Feb 2007 21:55:10 -0000=091.22
+++ pmppc/pmppc/machdep.c=0917 Mar 2007 01:35:29 -0000
@@ -389,13 +389,13 @@
 =09}
 =09splhigh();
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("halted\n\n");
 =09=09while(1);
 =09}
 =09if (!cold && (howto & RB_DUMP))
 =09=09oea_dumpsys();
-=09doshutdownhooks();
+=09doshutdownhooks(howto);
 =09printf("rebooting\n\n");
 =09if (what && *what) {
 =09=09if (strlen(what) > sizeof str - 5)
Index: powerpc/ibm4xx/dev/if_emac.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/powerpc/ibm4xx/dev/if_emac.c,v
retrieving revision 1.28
diff -u -r1.28 if_emac.c
--- powerpc/ibm4xx/dev/if_emac.c=094 Mar 2007 06:00:36 -0000=091.28
+++ powerpc/ibm4xx/dev/if_emac.c=0917 Mar 2007 01:35:29 -0000
@@ -524,7 +524,7 @@
  * Device shutdown routine.
  */
 static void
-emac_shutdown(void *arg)
+emac_shutdown(int why, void *arg)
 {
 =09struct emac_softc *sc =3D arg;

Index: prep/prep/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/prep/prep/machdep.c,v
retrieving revision 1.66
diff -u -r1.66 machdep.c
--- prep/prep/machdep.c=099 Feb 2007 21:55:11 -0000=091.66
+++ prep/prep/machdep.c=0917 Mar 2007 01:35:29 -0000
@@ -350,7 +350,7 @@
 =09=09oea_dumpsys();

 halt_sys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
                 printf("\n");
Index: sandpoint/sandpoint/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sandpoint/sandpoint/machdep.c,v
retrieving revision 1.35
diff -u -r1.35 machdep.c
--- sandpoint/sandpoint/machdep.c=099 Feb 2007 21:55:11 -0000=091.35
+++ sandpoint/sandpoint/machdep.c=0917 Mar 2007 01:35:29 -0000
@@ -318,13 +318,13 @@
 =09}
 =09splhigh();
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("halted\n\n");
 =09=09while(1);
 =09}
 =09if (!cold && (howto & RB_DUMP))
 =09=09oea_dumpsys();
-=09doshutdownhooks();
+=09doshutdownhooks(howto);
 =09printf("rebooting\n\n");
 =09if (what && *what) {
 =09=09if (strlen(what) > sizeof str - 5)
Index: sbmips/sbmips/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sbmips/sbmips/machdep.c,v
retrieving revision 1.35
diff -u -r1.35 machdep.c
--- sbmips/sbmips/machdep.c=096 Mar 2007 00:45:06 -0000=091.35
+++ sbmips/sbmips/machdep.c=0917 Mar 2007 01:35:29 -0000
@@ -420,7 +420,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: sgimips/mace/if_mec.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sgimips/mace/if_mec.c,v
retrieving revision 1.10
diff -u -r1.10 if_mec.c
--- sgimips/mace/if_mec.c=094 Mar 2007 06:00:40 -0000=091.10
+++ sgimips/mace/if_mec.c=0917 Mar 2007 01:35:30 -0000
@@ -1473,7 +1473,7 @@
 }

 STATIC void
-mec_shutdown(void *arg)
+mec_shutdown(int why, void *arg)
 {
 =09struct mec_softc *sc =3D arg;

Index: sgimips/sgimips/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sgimips/sgimips/machdep.c,v
retrieving revision 1.110
diff -u -r1.110 machdep.c
--- sgimips/sgimips/machdep.c=096 Mar 2007 12:41:52 -0000=091.110
+++ sgimips/sgimips/machdep.c=0917 Mar 2007 01:35:30 -0000
@@ -716,7 +716,7 @@

 haltsys:

-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/*
 =09 * Calling ARCBIOS->PowerDown() results in a "CP1 unusable trap"
Index: sh5/sh5/sh5_machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sh5/sh5/sh5_machdep.c,v
retrieving revision 1.8
diff -u -r1.8 sh5_machdep.c
--- sh5/sh5/sh5_machdep.c=0911 Dec 2005 12:19:02 -0000=091.8
+++ sh5/sh5/sh5_machdep.c=0917 Mar 2007 01:35:30 -0000
@@ -124,7 +124,7 @@
 #endif

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09=09printf("\n");
Index: shark/ofw/ofw.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/shark/ofw/ofw.c,v
retrieving revision 1.38
diff -u -r1.38 ofw.c
--- shark/ofw/ofw.c=098 Mar 2007 20:48:39 -0000=091.38
+++ shark/ofw/ofw.c=0917 Mar 2007 01:35:31 -0000
@@ -352,7 +352,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("Halted while still in the ICE age.\n");
 =09=09printf("The operating system has halted.\n");
 =09=09goto ofw_exit;
@@ -376,7 +376,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;
Index: sparc/dev/fd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sparc/dev/fd.c,v
retrieving revision 1.130
diff -u -r1.130 fd.c
--- sparc/dev/fd.c=099 Mar 2007 08:59:00 -0000=091.130
+++ sparc/dev/fd.c=0917 Mar 2007 01:35:31 -0000
@@ -990,7 +990,7 @@
 }

 void
-fd_motor_off(void *arg)
+fd_motor_off(int why, void *arg)
 {
 =09struct fd_softc *fd =3D arg;
 =09int s;
Index: sparc/sparc/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sparc/sparc/machdep.c,v
retrieving revision 1.271
diff -u -r1.271 machdep.c
--- sparc/sparc/machdep.c=094 Mar 2007 22:12:44 -0000=091.271
+++ sparc/sparc/machdep.c=0917 Mar 2007 01:35:32 -0000
@@ -1073,7 +1073,7 @@
  haltsys:

 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* If powerdown was requested, do it. */
 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
Index: sparc64/dev/fdc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sparc64/dev/fdc.c,v
retrieving revision 1.9
diff -u -r1.9 fdc.c
--- sparc64/dev/fdc.c=099 Mar 2007 21:02:30 -0000=091.9
+++ sparc64/dev/fdc.c=0917 Mar 2007 01:35:32 -0000
@@ -1182,7 +1182,7 @@
 }

 void
-fd_motor_off(void *arg)
+fd_motor_off(int why, void *arg)
 {
 =09struct fd_softc *fd =3D arg;
 =09int s;
Index: sparc64/dev/sab.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sparc64/dev/sab.c,v
retrieving revision 1.37
diff -u -r1.37 sab.c
--- sparc64/dev/sab.c=094 Mar 2007 06:00:49 -0000=091.37
+++ sparc64/dev/sab.c=0917 Mar 2007 01:35:33 -0000
@@ -1309,7 +1309,7 @@
 }

 void
-sabtty_shutdown(void *vsc)
+sabtty_shutdown(int why, void *vsc)
 {
 =09struct sabtty_softc *sc =3D vsc;

Index: sparc64/sparc64/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sparc64/sparc64/machdep.c,v
retrieving revision 1.197
diff -u -r1.197 machdep.c
--- sparc64/sparc64/machdep.c=094 Mar 2007 07:54:07 -0000=091.197
+++ sparc64/sparc64/machdep.c=0917 Mar 2007 01:35:33 -0000
@@ -607,7 +607,7 @@

 haltsys:
 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* If powerdown was requested, do it. */
 =09if ((howto & RB_POWERDOWN) =3D=3D RB_POWERDOWN) {
Index: sun2/sun2/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sun2/sun2/machdep.c,v
retrieving revision 1.47
diff -u -r1.47 machdep.c
--- sun2/sun2/machdep.c=094 Mar 2007 06:00:52 -0000=091.47
+++ sun2/sun2/machdep.c=0917 Mar 2007 01:35:33 -0000
@@ -561,7 +561,7 @@
 =09=09dumpsys();

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09haltsys:
Index: sun3/dev/fd.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sun3/dev/fd.c,v
retrieving revision 1.55
diff -u -r1.55 fd.c
--- sun3/dev/fd.c=094 Mar 2007 13:59:47 -0000=091.55
+++ sun3/dev/fd.c=0917 Mar 2007 01:35:34 -0000
@@ -767,7 +767,7 @@
 }

 void
-fd_motor_off(void *arg)
+fd_motor_off(int why, void *arg)
 {
 =09struct fd_softc *fd =3D arg;
 =09int s;
Index: sun3/sun3/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sun3/sun3/machdep.c,v
retrieving revision 1.182
diff -u -r1.182 machdep.c
--- sun3/sun3/machdep.c=094 Mar 2007 14:01:22 -0000=091.182
+++ sun3/sun3/machdep.c=0917 Mar 2007 01:35:34 -0000
@@ -466,7 +466,7 @@
 =09=09dumpsys();

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09haltsys:
Index: sun3/sun3x/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/sun3/sun3x/machdep.c,v
retrieving revision 1.108
diff -u -r1.108 machdep.c
--- sun3/sun3x/machdep.c=094 Mar 2007 14:01:22 -0000=091.108
+++ sun3/sun3x/machdep.c=0917 Mar 2007 01:35:34 -0000
@@ -493,7 +493,7 @@
 =09=09dumpsys();

 =09/* run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09if (howto & RB_HALT) {
 =09haltsys:
Index: vax/vax/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/vax/vax/machdep.c,v
retrieving revision 1.158
diff -u -r1.158 machdep.c
--- vax/vax/machdep.c=094 Mar 2007 06:01:01 -0000=091.158
+++ vax/vax/machdep.c=0917 Mar 2007 01:35:34 -0000
@@ -362,7 +362,7 @@
 =09}
 =09splhigh();=09=09/* extreme priority */
 =09if (howto & RB_HALT) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09if (dep_call->cpu_halt)
 =09=09=09(*dep_call->cpu_halt) ();
 =09=09printf("halting (in tight loop); hit\n\t^P\n\tHALT\n\n");
Index: x68k/dev/pow.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/x68k/dev/pow.c,v
retrieving revision 1.15
diff -u -r1.15 pow.c
--- x68k/dev/pow.c=094 Mar 2007 06:01:07 -0000=091.15
+++ x68k/dev/pow.c=0917 Mar 2007 01:35:35 -0000
@@ -302,7 +302,7 @@
 }

 static void
-pow_check_switch(void *dummy)
+pow_check_switch(int why, void *dummy)
 {
 =09extern int power_switch_is_off;

Index: x68k/x68k/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/x68k/x68k/machdep.c,v
retrieving revision 1.139
diff -u -r1.139 machdep.c
--- x68k/x68k/machdep.c=095 Mar 2007 20:51:11 -0000=091.139
+++ x68k/x68k/machdep.c=0917 Mar 2007 01:35:35 -0000
@@ -499,7 +499,7 @@
 =09=09dumpsys();

 =09/* Run any shutdown hooks. */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #if defined(PANICWAIT) && !defined(DDB)
 =09if ((howto & RB_HALT) =3D=3D 0 && panicstr) {

Index: xen/i386/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/xen/i386/machdep.c,v
retrieving revision 1.37
diff -u -r1.37 machdep.c
--- xen/i386/machdep.c=095 Mar 2007 03:31:29 -0000=091.37
+++ xen/i386/machdep.c=0917 Mar 2007 01:35:36 -0000
@@ -778,7 +778,7 @@
 =09=09dumpsys();

 haltsys:
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 #ifdef MULTIPROCESSOR
 =09x86_broadcast_ipi(X86_IPI_HALT);
Index: zaurus/zaurus/machdep.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/sys/arch/zaurus/zaurus/machdep.c,v
retrieving revision 1.4
diff -u -r1.4 machdep.c
--- zaurus/zaurus/machdep.c=0929 Jan 2007 01:52:45 -0000=091.4
+++ zaurus/zaurus/machdep.c=0917 Mar 2007 01:35:36 -0000
@@ -268,7 +268,7 @@
 =09 * and crash to earth fast
 =09 */
 =09if (cold) {
-=09=09doshutdownhooks();
+=09=09doshutdownhooks(howto);
 =09=09printf("The operating system has halted.\n");
 =09=09printf("Please press any key to reboot.\n\n");
 =09=09cngetc();
@@ -300,7 +300,7 @@
 =09=09dumpsys();
 =09
 =09/* Run any shutdown hooks */
-=09doshutdownhooks();
+=09doshutdownhooks(howto);

 =09/* Make sure IRQ's are disabled */
 =09IRQdisable;





--=20
~~Cherry