freebsd-dev/etc/rc.d
Nate Lawson 907b6777c1 Re-work Cx handling to be per-cpu and asymmetrical, fixing support on
modern dual-core systems as well.

- Parse the _CST packages for each cpu and track all the states individually,
on a per-cpu basis.

- Revert to generic FADT/P_BLK based Cx control if the _CST package
is not present on all cpus. In that case, the new driver will
still support per-cpu Cx state handling. The driver will determine the
highest Cx level that can be supported by all the cpus and configure the
available Cx state based on that.

- Fixed the case where multiple cpus in the system share the same
registers for Cx state handling. To do that, added a new flag
parameter to the acpi_PkgGas and acpi_bus_alloc_gas functions that
enable the caller to add the RF_SHAREABLE flag.  This flag could also be
useful to other callers (acpi_throttle?) in the tree but this change is
not yet made.

- For Core Duo cpus, both cores seems to be taken out of C3 state when
any one of the cores need to transition out. This broke the short sleep
detection logic.  It is disabled now if there is more than one cpu in
the system for now as it fixed it in my case.  This quirk may need to
be re-enabled later differently.

- Added support to control cx_lowest on a per-cpu basis. There is still
a generic cx_lowest to enable changing cx_lowest for all cpus with a single
sysctl and for ease of use.  Sample output for the new sysctl:

dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
dev.cpu.0.cx_lowest: C3
dev.cpu.0.cx_usage: 0.00% 43.16% 56.83%
dev.cpu.1.cx_supported: C1/1 C2/1 C3/57
dev.cpu.1.cx_lowest: C3
dev.cpu.1.cx_usage: 0.00% 45.65% 54.34%
hw.acpi.cpu.cx_lowest: C3

This work was done by Stephane E. Potvin with some simple reworking by
myself.  Thank you.

Submitted by:	Stephane E. Potvin <sepotvin / videotron.ca>
MFC after:	2 weeks
2007-01-07 21:53:42 +00:00
..
abi Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
accounting Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
addswap Remove the module loading magic again; it's not needed after all. 2006-01-17 19:29:31 +00:00
adjkerntz Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
amd Add 'reload' to the list of available commands for the amd rc.d script. 2006-10-18 15:56:11 +00:00
apm Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
apmd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
archdep Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
atm1 Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
atm2 Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
atm3 Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
auditd Sleep for one second after calling audit -t to give the audit daemon a 2006-09-24 17:31:04 +00:00
auto_linklocal Add "nojail" keyword to prevent spurious error messages. 2006-12-29 15:56:21 +00:00
bgfsck This depends on syslogd due to logger(1). 2005-07-22 00:57:37 +00:00
bluetooth Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
bootconf.sh Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
bootparams Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
bridge Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
bsnmpd Add startup script and default configuration file for bsnmpd. 2005-04-17 10:47:58 +00:00
bthidd Add bthidd(8) rc(8) script 2006-09-07 22:25:08 +00:00
cached flush' is appropriate than reload'. 2006-06-06 15:34:50 +00:00
ccd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
cleanvar Clear up problems with /etc/rc.d/{abi|cleanvar|cleartmp} brought 2005-12-19 10:57:00 +00:00
cleartmp Improve cleartmp in a number of aspects: 2006-10-16 13:01:45 +00:00
cron "REQUIRE: cleanvar" for all RC's writing into /var/run. 2005-01-16 03:12:03 +00:00
DAEMON Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
devd network_ipv6 also does some interface configuration so require it to run 2006-09-21 14:29:32 +00:00
devfs Allow the use of wildcarded device names in devfs.conf 2006-01-21 14:31:45 +00:00
dhclient Pull in /etc/rc.conf.d/network so that ifconfig_<if> variables can be 2006-10-02 18:50:58 +00:00
dmesg "REQUIRE: cleanvar" for all RC's writing into /var/run. 2005-01-16 03:12:03 +00:00
dumpon Remove rcconf.sh from /etc/rc.d, and instead load the configuration 2005-12-10 20:21:46 +00:00
early.sh Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
encswap Teach rc.d/encswap script how to use geli(8) for swap encryption. 2005-08-05 23:38:51 +00:00
fsck Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
ftpd Add an rc.d script for stand-alone ftpd. 2006-01-21 18:08:16 +00:00
gbde Move 'local_tr' function to rc.subr and change its name to 'ltr'. 2005-08-14 17:28:15 +00:00
geli Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
geli2 Add scripts for GELI device configuration on boot. 2005-08-14 18:02:22 +00:00
hcsecd Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
hostapd - Add a startup script for hostapd. 2006-02-03 01:35:36 +00:00
hostname Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
idmapd RC script for idmapd(8), defaulting to off. 2006-10-15 14:19:06 +00:00
inetd "REQUIRE: cleanvar" for all RC's writing into /var/run. 2005-01-16 03:12:03 +00:00
initrandom Remove rcconf.sh from /etc/rc.d, and instead load the configuration 2005-12-10 20:21:46 +00:00
ip6addrctl Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
ip6fw Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
ipfilter Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
ipfs Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
ipfw Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
ipmon Use ${name} in pathnames where appropriate. 2005-10-28 16:55:38 +00:00
ipnat Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
ipsec The 'reload' command did the same as 'restart' command. 2006-01-24 15:16:55 +00:00
ipxrouted Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
isdnd Send the pcvt(4) driver off to retirement. 2006-05-17 09:33:15 +00:00
jail Jail_ip and jail_interface local variables were renamed to _ip and _interface 2007-01-02 11:07:13 +00:00
kadmind Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
kerberos Add a new rc.conf entry, kerberos5_server_flags, which allows the 2005-09-20 11:13:28 +00:00
kernel This script should probably have an enabling variable since it can produce 2006-07-30 12:54:37 +00:00
keyserv Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
kldxref Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
kpasswdd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
ldconfig Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
local Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
localpkg Make localpkg print local scripts names when the boot is verbose 2006-02-12 10:04:56 +00:00
lockd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
LOGIN Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
lpd Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
Makefile RC script for idmapd(8), defaulting to off. 2006-10-15 14:19:06 +00:00
mdconfig Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
mdconfig2 Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
mixer Introduce mixer_enable (default: YES). 2006-10-06 23:22:13 +00:00
motd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
mountcritlocal Teach mount(8) about a 'late' keyword, which means the file system should 2006-07-12 16:05:51 +00:00
mountcritremote Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
mountd In mountd_precmd(), use rc_args, not mountd_args to 2005-09-18 17:04:26 +00:00
mountlate Teach mount(8) about a 'late' keyword, which means the file system should 2006-07-12 16:05:51 +00:00
moused Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
mroute6d Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
mrouted Push removal of mrouted down to the rest of the tree. 2006-09-29 15:45:11 +00:00
msgs Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
named After some discussion we believe that having SERVERS to REQUIRE: 2006-04-20 12:30:12 +00:00
natd Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
netif Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
netoptions Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
network_ipv6 Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
NETWORKING Don't bogusly depend on dhclient. It's now run either by 2005-12-03 01:33:06 +00:00
newsyslog syslogd should REQUIRE newsyslog, rather than newsyslog using 2005-12-21 09:54:15 +00:00
nfsclient Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
nfsd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
nfslocking Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
nfsserver Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
nisdomain Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
nscd flush' is appropriate than reload'. 2006-06-06 15:34:50 +00:00
nsswitch Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
ntpd - Add new ntpd_config variable so that people can override it in rc.conf. 2006-04-18 15:02:24 +00:00
ntpdate - Remove hardcoded /etc/ntp.conf configuration file from ntpdate rc.d script 2006-07-20 10:07:34 +00:00
othermta Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
pf Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
pflog Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
pfsync Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
power_profile Re-work Cx handling to be per-cpu and asymmetrical, fixing support on 2007-01-07 21:53:42 +00:00
powerd When stopping powerd, set the CPU frequency back to its maximum value 2006-08-27 11:04:39 +00:00
ppp Re-sync'ing pf rules in post command as we already did for ipfilter. 2006-10-26 00:29:43 +00:00
pppoed Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
pwcheck Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
quota Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
random The alternative suggested for /entropy as a shutdown 2005-04-11 02:45:05 +00:00
rarpd "REQUIRE: cleanvar" for all RC's writing into /var/run. 2005-01-16 03:12:03 +00:00
resolv Remove rcconf.sh from /etc/rc.d, and instead load the configuration 2005-12-10 20:21:46 +00:00
root Check if /sbin/nextboot exists before running it. 2006-02-17 08:34:01 +00:00
route6d Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
routed Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
routing Transforming "ppp-user" into just "ppp", step 1: 2005-10-28 16:07:52 +00:00
rpcbind Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
rtadvd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
rwho Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
savecore - use realpath /dev/dumpdev instead of just /dev/dumpdev so messages 2004-10-24 13:04:09 +00:00
sdpd Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
securelevel Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
sendmail Use ${name} in pathnames where appropriate. 2005-10-28 16:55:38 +00:00
serial Add an example of how to set up a 3-wire serial terminal. 2006-03-23 08:48:38 +00:00
SERVERS Make ldconfig as SERVER dependency. This makes it possible 2006-04-19 05:10:34 +00:00
sppp Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
sshd Backout this commit since it breaks startup and some scripts in 2006-08-22 11:17:29 +00:00
statd Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
swap1 Stop method for swap1 script was introduced, because gmirror needed it. 2004-11-05 12:38:27 +00:00
syscons Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
sysctl Quote the parameter to sysctl(1), allowing to use whitespaces in 2006-05-24 11:36:48 +00:00
syslogd Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
timed Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
tmp Brooks pointed out a case where tmp needs to be run after 2005-12-02 20:35:23 +00:00
ugidfw Use $required_modules wherever suitable. Use load_kld() in special 2006-12-31 10:37:18 +00:00
var Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
virecover Remove the requirement for the FreeBSD keyword as it no longer 2004-10-07 13:55:26 +00:00
watchdogd "REQUIRE: cleanvar" for all RC's writing into /var/run. 2005-01-16 03:12:03 +00:00
wpa_supplicant wpa_supplicant(8) requires -D option for ndis(4) now. 2005-10-19 22:26:47 +00:00
ypbind Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
yppasswdd Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
ypserv Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
ypset Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
ypupdated Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00
ypxfrd Eliminate global symbols starting with an underscore from rc.d 2006-12-30 22:53:20 +00:00