git: 68628f462093 - stable/13 - boot(9): update to match reality
Mitchell Horne
mhorne at FreeBSD.org
Mon Oct 4 14:12:21 UTC 2021
The branch stable/13 has been updated by mhorne:
URL: https://cgit.FreeBSD.org/src/commit/?id=68628f46209356895110411777ac387329e1ed20
commit 68628f46209356895110411777ac387329e1ed20
Author: Mitchell Horne <mhorne at FreeBSD.org>
AuthorDate: 2021-09-28 14:36:09 +0000
Commit: Mitchell Horne <mhorne at FreeBSD.org>
CommitDate: 2021-10-04 14:11:06 +0000
boot(9): update to match reality
This function was renamed to kern_reboot() in 2010, but the man page has
failed to keep in sync. Bring it up to date on the rename, add the
shutdown hooks to the synopsis, and document the (obvious) fact that
kern_reboot() does not return.
Fix an outdated reference to the old name in kern_reboot(), and leave a
reference to the man page so future readers might find it before any
large changes.
Reviewed by: imp, markj
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32085
(cherry picked from commit 800e74955d4e5f90e7258956ba42228350f71049)
---
ObsoleteFiles.inc | 3 +++
share/man/man9/Makefile | 2 +-
share/man/man9/{boot.9 => kern_reboot.9} | 26 ++++++++++++++++++--------
sys/kern/kern_shutdown.c | 5 +++--
4 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 843bc0326a41..a721f5596031 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -36,6 +36,9 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20210923: rename boot(9) to kern_reboot(9)
+OLD_FILES+=usr/share/man/man9/boot.9.gz
+
# 20210810: remove Pentium-related man pages and references
OLD_FILES+=usr/share/man/man3/pmc.p4.3.gz
OLD_FILES+=usr/share/man/man3/pmc.p5.3.gz
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 43bf82426a73..ae5efa65bd0b 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -15,7 +15,6 @@ MAN= accept_filter.9 \
bhnd_erom.9 \
bios.9 \
bitset.9 \
- boot.9 \
bpf.9 \
buf.9 \
buf_ring.9 \
@@ -188,6 +187,7 @@ MAN= accept_filter.9 \
intro.9 \
ithread.9 \
KASSERT.9 \
+ kern_reboot.9 \
kern_testfrwk.9 \
kernacc.9 \
kernel_mount.9 \
diff --git a/share/man/man9/boot.9 b/share/man/man9/kern_reboot.9
similarity index 85%
rename from share/man/man9/boot.9
rename to share/man/man9/kern_reboot.9
index cbd0099e4e18..587d4ab114db 100644
--- a/share/man/man9/boot.9
+++ b/share/man/man9/kern_reboot.9
@@ -34,21 +34,25 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 14, 1997
-.Dt BOOT 9
+.Dd Sept 23, 2021
+.Dt KERN_REBOOT 9
.Os
.Sh NAME
-.Nm boot
+.Nm kern_reboot
.Nd halt or reboot the system
.Sh SYNOPSIS
.In sys/types.h
.In sys/systm.h
.In sys/reboot.h
.Ft void
-.Fn boot "int howto"
+.Fn kern_reboot "int howto"
+.In sys/eventhandler.h
+.Fn EVENTHANDLER_REGISTER "shutdown_pre_sync" "shutdown_fn" "private" "priority"
+.Fn EVENTHANDLER_REGISTER "shutdown_post_sync" "shutdown_fn" "private" "priority"
+.Fn EVENTHANDLER_REGISTER "shutdown_final" "shutdown_fn" "private" "priority"
.Sh DESCRIPTION
The
-.Fn boot
+.Fn kern_reboot
function handles final system shutdown, and either halts or reboots
the system.
The exact action to be taken is determined by the flags passed in
@@ -56,12 +60,12 @@ The exact action to be taken is determined by the flags passed in
and by whether or not the system has finished autoconfiguration.
.Pp
If the system has finished autoconfiguration,
-.Fn boot
+.Fn kern_reboot
does the following:
.Bl -enum -offset indent
.It
If this is the first invocation of
-.Fn boot
+.Fn kern_reboot
and the
.Dv RB_NOSYNC
flag is not set in
@@ -93,8 +97,14 @@ Otherwise, reboots the system.
.El
.Pp
If the system has not finished autoconfiguration,
-.Fn boot
+.Fn kern_reboot
runs any shutdown hooks previously registered,
prints a message, and halts the system.
+.Sh RETURN VALUES
+The
+.Fn kern_reboot
+function does not return.
.Sh SEE ALSO
+.Xr reboot 2
+.Xr EVENTHANDLER 9
.Xr vfs_unmountall 9
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index fb2a69401801..eb2d41fedd42 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -421,7 +421,8 @@ doadump(boolean_t textdump)
}
/*
- * Shutdown the system cleanly to prepare for reboot, halt, or power off.
+ * kern_reboot(9): Shut down the system cleanly to prepare for reboot, halt, or
+ * power off.
*/
void
kern_reboot(int howto)
@@ -450,7 +451,7 @@ kern_reboot(int howto)
sched_bind(curthread, CPU_FIRST());
thread_unlock(curthread);
KASSERT(PCPU_GET(cpuid) == CPU_FIRST(),
- ("boot: not running on cpu 0"));
+ ("%s: not running on cpu 0", __func__));
}
#endif
/* We're in the process of rebooting. */
More information about the dev-commits-src-all
mailing list