Subject: machdep.c and its boot() routine and doshutdownhooks()
To: None <>
From: Gordon W. Ross <>
List: tech-kern
Date: 11/13/1995 12:24:47
> Date: Mon, 13 Nov 1995 10:31:48 -0500
> From: "Perry E. Metzger" <>

[ Noticed doshutdownhooks() is not called on most ports... ]

Yes, all ports should probably call this.  Perhaps the creation of
this function was not announced loudly enough to the port masters...

> I also noticed that for the most part, boot() seems to be intended to
> do exactly the same thing from port to port other than whether a halt
> instruction or tight loop waiting for console input gets called. The
> specific code differs greatly from port to port, but it almost all
> seems to be the same stuff, over and over.

Yes and no.  It allows you to either reboot or halt, possibly with
a crash dump, and on some ports you may specify reboot parameters.
(i.e. the Sun PROM lets you specify the device/kernel for reboot.)

Most of the machine-independent code is now gone from boot() on
the ports I've looked at (reboot_sync stuff is common now).
The remaining code IS possibly machine-specific, and there are
only about sixty lines of it left.  I think it's good as-is.
(Other than the need to call doshutdownhooks or whatever.)