1 |
62 |
marcus.erl |
config PM
|
2 |
|
|
bool "Power Management support"
|
3 |
|
|
depends on !IA64_HP_SIM
|
4 |
|
|
---help---
|
5 |
|
|
"Power Management" means that parts of your computer are shut
|
6 |
|
|
off or put into a power conserving "sleep" mode if they are not
|
7 |
|
|
being used. There are two competing standards for doing this: APM
|
8 |
|
|
and ACPI. If you want to use either one, say Y here and then also
|
9 |
|
|
to the requisite support below.
|
10 |
|
|
|
11 |
|
|
Power Management is most important for battery powered laptop
|
12 |
|
|
computers; if you have a laptop, check out the Linux Laptop home
|
13 |
|
|
page on the WWW at or
|
14 |
|
|
Tuxmobil - Linux on Mobile Computers at
|
15 |
|
|
and the Battery Powered Linux mini-HOWTO, available from
|
16 |
|
|
.
|
17 |
|
|
|
18 |
|
|
Note that, even if you say N here, Linux on the x86 architecture
|
19 |
|
|
will issue the hlt instruction if nothing is to be done, thereby
|
20 |
|
|
sending the processor to sleep and saving power.
|
21 |
|
|
|
22 |
|
|
config PM_LEGACY
|
23 |
|
|
bool "Legacy Power Management API (DEPRECATED)"
|
24 |
|
|
depends on PM
|
25 |
|
|
default n
|
26 |
|
|
---help---
|
27 |
|
|
Support for pm_register() and friends. This old API is obsoleted
|
28 |
|
|
by the driver model.
|
29 |
|
|
|
30 |
|
|
If unsure, say N.
|
31 |
|
|
|
32 |
|
|
config PM_DEBUG
|
33 |
|
|
bool "Power Management Debug Support"
|
34 |
|
|
depends on PM
|
35 |
|
|
---help---
|
36 |
|
|
This option enables various debugging support in the Power Management
|
37 |
|
|
code. This is helpful when debugging and reporting PM bugs, like
|
38 |
|
|
suspend support.
|
39 |
|
|
|
40 |
|
|
config PM_VERBOSE
|
41 |
|
|
bool "Verbose Power Management debugging"
|
42 |
|
|
depends on PM_DEBUG
|
43 |
|
|
default n
|
44 |
|
|
---help---
|
45 |
|
|
This option enables verbose messages from the Power Management code.
|
46 |
|
|
|
47 |
|
|
config PM_TRACE
|
48 |
|
|
bool "Suspend/resume event tracing"
|
49 |
|
|
depends on PM_DEBUG && X86 && PM_SLEEP && EXPERIMENTAL
|
50 |
|
|
default n
|
51 |
|
|
---help---
|
52 |
|
|
This enables some cheesy code to save the last PM event point in the
|
53 |
|
|
RTC across reboots, so that you can debug a machine that just hangs
|
54 |
|
|
during suspend (or more commonly, during resume).
|
55 |
|
|
|
56 |
|
|
To use this debugging feature you should attempt to suspend the machine,
|
57 |
|
|
then reboot it, then run
|
58 |
|
|
|
59 |
|
|
dmesg -s 1000000 | grep 'hash matches'
|
60 |
|
|
|
61 |
|
|
CAUTION: this option will cause your machine's real-time clock to be
|
62 |
|
|
set to an invalid time after a resume.
|
63 |
|
|
|
64 |
|
|
config PM_SLEEP_SMP
|
65 |
|
|
bool
|
66 |
|
|
depends on SUSPEND_SMP_POSSIBLE || HIBERNATION_SMP_POSSIBLE
|
67 |
|
|
depends on PM_SLEEP
|
68 |
|
|
select HOTPLUG_CPU
|
69 |
|
|
default y
|
70 |
|
|
|
71 |
|
|
config PM_SLEEP
|
72 |
|
|
bool
|
73 |
|
|
depends on SUSPEND || HIBERNATION
|
74 |
|
|
default y
|
75 |
|
|
|
76 |
|
|
config SUSPEND_UP_POSSIBLE
|
77 |
|
|
bool
|
78 |
|
|
depends on (X86 && !X86_VOYAGER) || PPC || ARM || BLACKFIN || MIPS \
|
79 |
|
|
|| SUPERH || FRV
|
80 |
|
|
depends on !SMP
|
81 |
|
|
default y
|
82 |
|
|
|
83 |
|
|
config SUSPEND_SMP_POSSIBLE
|
84 |
|
|
bool
|
85 |
|
|
depends on (X86 && !X86_VOYAGER) \
|
86 |
|
|
|| (PPC && (PPC_PSERIES || PPC_PMAC)) || ARM
|
87 |
|
|
depends on SMP
|
88 |
|
|
default y
|
89 |
|
|
|
90 |
|
|
config SUSPEND
|
91 |
|
|
bool "Suspend to RAM and standby"
|
92 |
|
|
depends on PM
|
93 |
|
|
depends on SUSPEND_UP_POSSIBLE || SUSPEND_SMP_POSSIBLE
|
94 |
|
|
default y
|
95 |
|
|
---help---
|
96 |
|
|
Allow the system to enter sleep states in which main memory is
|
97 |
|
|
powered and thus its contents are preserved, such as the
|
98 |
|
|
suspend-to-RAM state (i.e. the ACPI S3 state).
|
99 |
|
|
|
100 |
|
|
config HIBERNATION_UP_POSSIBLE
|
101 |
|
|
bool
|
102 |
|
|
depends on X86 || PPC64_SWSUSP || PPC32
|
103 |
|
|
depends on !SMP
|
104 |
|
|
default y
|
105 |
|
|
|
106 |
|
|
config HIBERNATION_SMP_POSSIBLE
|
107 |
|
|
bool
|
108 |
|
|
depends on (X86 && !X86_VOYAGER) || PPC64_SWSUSP
|
109 |
|
|
depends on SMP
|
110 |
|
|
default y
|
111 |
|
|
|
112 |
|
|
config HIBERNATION
|
113 |
|
|
bool "Hibernation (aka 'suspend to disk')"
|
114 |
|
|
depends on PM && SWAP
|
115 |
|
|
depends on HIBERNATION_UP_POSSIBLE || HIBERNATION_SMP_POSSIBLE
|
116 |
|
|
---help---
|
117 |
|
|
Enable the suspend to disk (STD) functionality, which is usually
|
118 |
|
|
called "hibernation" in user interfaces. STD checkpoints the
|
119 |
|
|
system and powers it off; and restores that checkpoint on reboot.
|
120 |
|
|
|
121 |
|
|
You can suspend your machine with 'echo disk > /sys/power/state'.
|
122 |
|
|
Alternatively, you can use the additional userland tools available
|
123 |
|
|
from .
|
124 |
|
|
|
125 |
|
|
In principle it does not require ACPI or APM, although for example
|
126 |
|
|
ACPI will be used for the final steps when it is available. One
|
127 |
|
|
of the reasons to use software suspend is that the firmware hooks
|
128 |
|
|
for suspend states like suspend-to-RAM (STR) often don't work very
|
129 |
|
|
well with Linux.
|
130 |
|
|
|
131 |
|
|
It creates an image which is saved in your active swap. Upon the next
|
132 |
|
|
boot, pass the 'resume=/dev/swappartition' argument to the kernel to
|
133 |
|
|
have it detect the saved image, restore memory state from it, and
|
134 |
|
|
continue to run as before. If you do not want the previous state to
|
135 |
|
|
be reloaded, then use the 'noresume' kernel command line argument.
|
136 |
|
|
Note, however, that fsck will be run on your filesystems and you will
|
137 |
|
|
need to run mkswap against the swap partition used for the suspend.
|
138 |
|
|
|
139 |
|
|
It also works with swap files to a limited extent (for details see
|
140 |
|
|
).
|
141 |
|
|
|
142 |
|
|
Right now you may boot without resuming and resume later but in the
|
143 |
|
|
meantime you cannot use the swap partition(s)/file(s) involved in
|
144 |
|
|
suspending. Also in this case you must not use the filesystems
|
145 |
|
|
that were mounted before the suspend. In particular, you MUST NOT
|
146 |
|
|
MOUNT any journaled filesystems mounted before the suspend or they
|
147 |
|
|
will get corrupted in a nasty way.
|
148 |
|
|
|
149 |
|
|
For more information take a look at .
|
150 |
|
|
|
151 |
|
|
config PM_STD_PARTITION
|
152 |
|
|
string "Default resume partition"
|
153 |
|
|
depends on HIBERNATION
|
154 |
|
|
default ""
|
155 |
|
|
---help---
|
156 |
|
|
The default resume partition is the partition that the suspend-
|
157 |
|
|
to-disk implementation will look for a suspended disk image.
|
158 |
|
|
|
159 |
|
|
The partition specified here will be different for almost every user.
|
160 |
|
|
It should be a valid swap partition (at least for now) that is turned
|
161 |
|
|
on before suspending.
|
162 |
|
|
|
163 |
|
|
The partition specified can be overridden by specifying:
|
164 |
|
|
|
165 |
|
|
resume=/dev/
|
166 |
|
|
|
167 |
|
|
which will set the resume partition to the device specified.
|
168 |
|
|
|
169 |
|
|
Note there is currently not a way to specify which device to save the
|
170 |
|
|
suspended image to. It will simply pick the first available swap
|
171 |
|
|
device.
|
172 |
|
|
|
173 |
|
|
config APM_EMULATION
|
174 |
|
|
tristate "Advanced Power Management Emulation"
|
175 |
|
|
depends on PM && SYS_SUPPORTS_APM_EMULATION
|
176 |
|
|
help
|
177 |
|
|
APM is a BIOS specification for saving power using several different
|
178 |
|
|
techniques. This is mostly useful for battery powered laptops with
|
179 |
|
|
APM compliant BIOSes. If you say Y here, the system time will be
|
180 |
|
|
reset after a RESUME operation, the /proc/apm device will provide
|
181 |
|
|
battery status information, and user-space programs will receive
|
182 |
|
|
notification of APM "events" (e.g. battery status change).
|
183 |
|
|
|
184 |
|
|
In order to use APM, you will need supporting software. For location
|
185 |
|
|
and more information, read and the
|
186 |
|
|
Battery Powered Linux mini-HOWTO, available from
|
187 |
|
|
.
|
188 |
|
|
|
189 |
|
|
This driver does not spin down disk drives (see the hdparm(8)
|
190 |
|
|
manpage ("man 8 hdparm") for that), and it doesn't turn off
|
191 |
|
|
VESA-compliant "green" monitors.
|
192 |
|
|
|
193 |
|
|
Generally, if you don't have a battery in your machine, there isn't
|
194 |
|
|
much point in using this driver and you should say N. If you get
|
195 |
|
|
random kernel OOPSes or reboots that don't seem to be related to
|
196 |
|
|
anything, try disabling/enabling this option (or disabling/enabling
|
197 |
|
|
APM in your BIOS).
|