NetBSD Problem Report #32766

From www@netbsd.org  Tue Feb  7 11:19:12 2006
Return-Path: <www@netbsd.org>
Received: by narn.netbsd.org (Postfix, from userid 31301)
	id 1FBFF63B863; Tue,  7 Feb 2006 11:19:12 +0000 (UTC)
Message-Id: <20060207111912.1FBFF63B863@narn.netbsd.org>
Date: Tue,  7 Feb 2006 11:19:12 +0000 (UTC)
From: cherry@mahiti.org
Reply-To: cherry@mahiti.org
To: gnats-bugs@netbsd.org
Subject: Patch: Sleeps wd disks before switching off
X-Send-Pr-Version: www-1.0

>Number:         32766
>Category:       kern
>Synopsis:       Patch: Sleeps wd disks before switching off
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 07 11:20:00 +0000 2006
>Closed-Date:    
>Last-Modified:  Sat Mar 17 02:20:01 +0000 2007
>Originator:     Cherry G. Mathew
>Release:        -current
>Organization:
>Environment:
NA
>Description:
This is a problem I've noticed with NetBSD/macppc on my iBook G3. poweroff switches off the hard disk with a snap. Trivial fix given below.

Thanks,

Cherry.

>How-To-Repeat:
poweroff -q

on an ibook G3.
>Fix:
*** wd.c	06 Feb 2006 18:41:29 +0530	1.318
--- wd.c	07 Feb 2006 16:27:56 +0530	
***************
*** 1834,1839 ****
--- 1834,1840 ----
  {
  	struct wd_softc *wd = arg;
  	wd_flushcache(wd, AT_POLL);
+ 	wd_standby(wd, AT_POLL);
  }

  /*

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->closed
State-Changed-By: cherry@netbsd.org
State-Changed-When: Tue, 04 Apr 2006 07:13:28 +0000
State-Changed-Why:
The included patch was committed to CVS.


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.


From: "Cherry G. Mathew" <cherry.g.mathew@gmail.com>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org,
	gnats-admin@netbsd.org, simonb@netbsd.org, cherry@mahiti.org
Subject: Re: kern/32766 (Patch: Sleeps wd disks before switching off)
Date: Sat, 17 Mar 2007 02:11:53 +0000

 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

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.