svn commit: r324983 - in head: lib/libc/sys sys/sys

Warner Losh imp at FreeBSD.org
Wed Oct 25 15:30:21 UTC 2017


Author: imp
Date: Wed Oct 25 15:30:20 2017
New Revision: 324983
URL: https://svnweb.freebsd.org/changeset/base/324983

Log:
  Define RB_POWERCYCLE
  
  RB_POWERCYCLE instructs the platform to power off and then power back
  on a short time later, if that's possible. Otherwise, degrade to the
  RB_POWEROFF behavior.
  
  Sponsored by: Netflix

Modified:
  head/lib/libc/sys/reboot.2
  head/sys/sys/reboot.h

Modified: head/lib/libc/sys/reboot.2
==============================================================================
--- head/lib/libc/sys/reboot.2	Wed Oct 25 15:28:05 2017	(r324982)
+++ head/lib/libc/sys/reboot.2	Wed Oct 25 15:30:20 2017	(r324983)
@@ -28,7 +28,7 @@
 .\"     @(#)reboot.2	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd September 18, 2015
+.Dd October 24, 2017
 .Dt REBOOT 2
 .Os
 .Sh NAME
@@ -84,6 +84,14 @@ for more information.
 .It Dv RB_HALT
 The processor is simply halted; no reboot takes place.
 This option should be used with caution.
+.It Dv RB_POWERCYCLE
+After halting, the shutdown code will do what it can to turn
+off the power and then turn the power back on.
+This requires hardware support, usually an auxiliary microprocessor
+that can sequence the power supply.
+At present only the
+.Xr ipmi 4
+driver implements this feature.
 .It Dv RB_POWEROFF
 After halting, the shutdown code will do what it can to turn
 off the power.

Modified: head/sys/sys/reboot.h
==============================================================================
--- head/sys/sys/reboot.h	Wed Oct 25 15:28:05 2017	(r324982)
+++ head/sys/sys/reboot.h	Wed Oct 25 15:30:20 2017	(r324983)
@@ -60,6 +60,7 @@
 #define	RB_RESERVED2	0x80000	/* reserved for internal use of boot blocks */
 #define	RB_PAUSE	0x100000 /* pause after each output line during probe */
 #define	RB_REROOT	0x200000 /* unmount the rootfs and mount it again */
+#define	RB_POWERCYCLE	0x400000 /* Power cycle if possible */
 #define	RB_MULTIPLE	0x20000000	/* use multiple consoles */
 
 #define	RB_BOOTINFO	0x80000000	/* have `struct bootinfo *' arg */


More information about the svn-src-all mailing list