NetBSD/sys/arch/sparc64
dyoung aeb6a78d82 During a normal shutdown, gracefully tear down arbitrary stacks of
filesystems and (pseudo-)devices, according to the algorithm at A3
and A4, below.

Proposed and discussed at
<http://mail-index.netbsd.org/tech-kern/2009/04/20/msg004864.html>.  No
objections.

During an emergency shutdown (e.g., shutdown -n, or after a panic),
shutdown is simple as always: filesystems are not sync'd or unmounted,
and devices are not detached.

It was necessary to change the order of operations during shutdown,
but the new order is more sensible: if a core dump is desired, then
cpu_reboot(9) dumps it first.  cpu_reboot(9) does not call legacy
shutdown hooks any longer: they can interfere with device detachment
and PMF shutdown, and very few legacy hooks remain.

Here is the old order of operations:

B1 sync filesystems and TOD clock
B2 unmount filesystems
B3 dump core
B4 detach devices
B5 run legacy shutdown hooks
B6 run PMF shutdown hooks
B7 suspend interrupts
B8 MD reboot/shutdown/powerdown

And here is the new order:

A1 dump core
A2 sync filesystems and TOD clock
A3 unmount one or more filesystems OR
   detach one or more devices OR
   forcefully unmount one filesystem OR
   skip to 5
A4 repeat at 3
A5 run PMF shutdown hooks
A6 suspend interrupts
A7 MD reboot/shutdown/powerdown

Tested on Dell Dimension 3000, Dell PowerEdge 1950, Sun Fire V120,
Soekris net4521 and net4801.

VS: ----------------------------------------------------------------------
2009-06-26 23:40:27 +00:00
..
compile
conf
dev add two new functions for z8530tty: zs_chan_lock() and zs_chan_unlock(), 2009-05-22 03:51:30 +00:00
include #define BUS_SPACE_MAP_LARGE 0 so SBus framebuffer drivers compile again 2009-06-01 01:14:06 +00:00
sparc64 During a normal shutdown, gracefully tear down arbitrary stacks of 2009-06-26 23:40:27 +00:00
stand
Makefile Use ${FINDCOMM} to avoid 'Arguments list too long'-related failure 2009-05-19 22:01:34 +00:00