FreeBSD src
Go to file
Nate Lawson 00a304487f Update the suspend/resume user API while maintaining backwards compat.
Improvements:
* /etc/rc.suspend,rc.resume are always run, no matter the source of the
  suspend request (user or kernel, apm or acpi)
* suspend now requires positive user acknowledgement.  If a user program
  wants to cancel the suspend, they can.  If one of the user programs
  hangs or doesn't respond within 10 seconds, the system suspends anyway.
* /dev/apm is clonable, allowing multiple listeners for suspend events.
  In the future, xorg-server can use this to be informed about suspend
  even if there are other listeners (i.e. apmd).

Changes:
* Two new ACPI ioctls:  REQSLPSTATE and ACKSLPSTATE.  Request begins the
  process of suspending by notifying all listeners.  acpi is monitored by
  devd(8) and /dev/apm listener(s) are also counted.  Users register their
  approval or disapproval via Ack.  If anyone disapproves, suspend is vetoed.
* Old user programs or kernel modules that used SETSLPSTATE continue to
  work.  A message is printed once that this interface is deprecated.
* acpiconf gains the -k flag to ack the suspend request.  This flag is
  undocumented on purpose since it's only used by /etc/rc.suspend.  It is
  not intended to be a permanent change and will be removed once a better
  power API is implemented.
* S5 (power off) is no longer supported via acpiconf -s 5 or apm -z/-Z.
  This restores previous behavior of halt/shutdown -p being the interface.
* Miscellaneous improvements to error reporting

Approved by:	re
2007-06-21 22:50:37 +00:00
bin Correct the referenced securelevel document, it's now securelevel 7. 2007-06-02 20:15:59 +00:00
cddl - Reduce number of atomic operations needed to be implemented in asm by 2007-06-08 12:35:47 +00:00
compat/opensolaris Use provider's ident to handle situations when disks are moved around 2007-05-06 01:39:39 +00:00
contrib Resolve conflicts after less(1) v406 import. 2007-06-21 10:44:50 +00:00
crypto s/X11R6/local/g 2007-05-24 22:04:07 +00:00
etc Update the suspend/resume user API while maintaining backwards compat. 2007-06-21 22:50:37 +00:00
games Remove duplicate. Was that a bug? :-) 2007-06-12 09:20:31 +00:00
gnu - Bump share library version which were missed in last bump 2007-06-18 18:47:54 +00:00
include Require users to provide a length information for inet_ntoa_r, 2007-06-14 07:13:28 +00:00
kerberos5 Fix generator glue to only expose extern struct units %s_units[] is 2007-05-19 03:29:37 +00:00
lib Clean up after previous commit: new sentence -> new line, no empty lines, 2007-06-19 16:29:46 +00:00
libexec Note PAM support in atrun(8). 2007-06-17 14:02:31 +00:00
release Updated release notes: less v406. 2007-06-21 20:27:23 +00:00
rescue Replace the GNU gzip with a slightly modified NetBSD gzip. The 2007-01-26 10:19:08 +00:00
sbin o Make ipfw set more robust -- now it is possible: 2007-06-18 17:52:37 +00:00
secure - Bump share library version which were missed in last bump 2007-06-18 18:47:54 +00:00
share Remove duplicate xref and add missing commas. 2007-06-21 16:39:25 +00:00
sys Update the suspend/resume user API while maintaining backwards compat. 2007-06-21 22:50:37 +00:00
tools MFp4: Add regression tests for tmpfs. 2007-06-16 02:04:44 +00:00
usr.bin o style(9) nit. 2007-06-17 14:45:28 +00:00
usr.sbin Update the suspend/resume user API while maintaining backwards compat. 2007-06-21 22:50:37 +00:00
COPYRIGHT Welcome to 2007 2006-12-31 16:35:29 +00:00
LOCKS Document commit constraints for RELENG_6_*. 2006-01-13 06:51:43 +00:00
MAINTAINERS Update the maintainer id for em driver. 2007-05-23 21:47:19 +00:00
Makefile Expose all of {check,delete}-old{,-dirs,-files,-libs}. 2007-05-16 08:46:35 +00:00
Makefile.inc1 lex(1) no longer installs headers into GCC-internal dirs 2007-05-26 20:17:19 +00:00
ObsoleteFiles.inc - Add liblwres.so.10 which is now .30 after latest bind import 2007-06-18 18:50:59 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Spaces to tab 2007-06-12 17:33:56 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html