xref: /netbsd/share/man/man9/cpu_reboot.9 (revision c4a72b64)
1.\" $NetBSD: cpu_reboot.9,v 1.13 2002/10/14 13:43:20 wiz Exp $
2.\"
3.\" Copyright (c) 1994 Christopher G. Demetriou
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. All advertising materials mentioning features or use of this software
15.\"    must display the following acknowledgement:
16.\"          This product includes software developed for the
17.\"          NetBSD Project.  See http://www.netbsd.org/ for
18.\"          information about NetBSD.
19.\" 4. The name of the author may not be used to endorse or promote products
20.\"    derived from this software without specific prior written permission.
21.\"
22.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32.\"
33.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
34.\"
35.Dd November 13, 1995
36.Dt CPU_REBOOT 9
37.Os
38.Sh NAME
39.Nm cpu_reboot
40.Nd halt or reboot the system
41.Sh SYNOPSIS
42.Fd #include \*[Lt]sys/reboot.h\*[Gt]
43.Ft void
44.Fn cpu_reboot "int howto" "char *bootstr"
45.Sh DESCRIPTION
46The
47.Fn cpu_reboot
48function handles final system shutdown, and either halts or reboots
49the system.
50The exact action to be taken is determined by the flags passed in
51.Fa howto
52and by whether or not the system has finished autoconfiguration.
53.Pp
54If the system has finished autoconfiguration,
55.Fn cpu_reboot
56does the following:
57.Bl -enum -offset indent
58.It
59Sets the
60.Va boothowto
61system variable from the
62.Fa howto
63argument.
64.It
65If this is the first invocation of
66.Fn cpu_reboot
67and the
68.Dv RB_NOSYNC
69flag is not set in
70.Fa howto ,
71syncs and unmounts the system disks by calling
72.Xr vfs_shutdown 9
73and sets the time of day clock by calling
74.Xr resettodr 9 .
75.It
76Disables interrupts.
77.It
78If rebooting after a crash (i.e., if
79.Dv RB_DUMP
80is set in
81.Fa howto ,
82but
83.Dv RB_HALT
84is not), saves a system crash dump.
85.It
86Runs any shutdown hooks by calling
87.Xr doshutdownhooks 9 .
88.It
89Prints a message indicating that the system is about to be halted
90or rebooted.
91.It
92If
93.Dv RB_HALT
94is set in
95.Fa howto ,
96halts the system.
97Otherwise, reboots the system.
98.El
99.Pp
100If the system has not finished autoconfiguration,
101.Fn cpu_reboot
102runs any shutdown hooks by calling
103.Xr doshutdownhooks 9 ,
104prints a message, and halts the system.
105.Pp
106If
107.Dv RB_STRING
108is set in
109.Pa howto ,
110then the parameter
111.Fa bootstr
112is passed to the system boot loader on some ports.
113.Sh SEE ALSO
114.Xr doshutdownhooks 9 ,
115.Xr dumpsys 9 ,
116.Xr resettodr 9
117.\" .Xr vfs_shutdown 9
118