Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | config PM |
| 2 | bool "Power Management support" |
Len Brown | eb7b6b3 | 2005-08-25 12:08:25 -0400 | [diff] [blame] | 3 | depends on !IA64_HP_SIM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 <http://www.linux-on-laptops.com/> or |
| 14 | Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/> |
| 15 | and the Battery Powered Linux mini-HOWTO, available from |
| 16 | <http://www.tldp.org/docs.html#howto>. |
| 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 | |
Jeff Garzik | bca73e4 | 2005-11-13 16:06:25 -0800 | [diff] [blame] | 22 | config PM_LEGACY |
| 23 | bool "Legacy Power Management API" |
| 24 | depends on PM |
| 25 | default y |
| 26 | ---help--- |
| 27 | Support for pm_register() and friends. |
| 28 | |
| 29 | If unsure, say Y. |
| 30 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | config PM_DEBUG |
| 32 | bool "Power Management Debug Support" |
| 33 | depends on PM |
| 34 | ---help--- |
| 35 | This option enables verbose debugging support in the Power Management |
| 36 | code. This is helpful when debugging and reporting various PM bugs, |
| 37 | like suspend support. |
| 38 | |
Rafael J. Wysocki | c8eb8b4 | 2006-09-25 23:32:56 -0700 | [diff] [blame] | 39 | config DISABLE_CONSOLE_SUSPEND |
| 40 | bool "Keep console(s) enabled during suspend/resume (DANGEROUS)" |
| 41 | depends on PM && PM_DEBUG |
| 42 | default n |
| 43 | ---help--- |
| 44 | This option turns off the console suspend mechanism that prevents |
| 45 | debug messages from reaching the console during the suspend/resume |
| 46 | operations. This may be helpful when debugging device drivers' |
| 47 | suspend/resume routines, but may itself lead to problems, for example |
| 48 | if netconsole is used. |
| 49 | |
Linus Torvalds | eb71c87 | 2006-06-24 14:27:42 -0700 | [diff] [blame] | 50 | config PM_TRACE |
| 51 | bool "Suspend/resume event tracing" |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 52 | depends on PM && PM_DEBUG && X86_32 && EXPERIMENTAL |
| 53 | default n |
Linus Torvalds | eb71c87 | 2006-06-24 14:27:42 -0700 | [diff] [blame] | 54 | ---help--- |
| 55 | This enables some cheesy code to save the last PM event point in the |
| 56 | RTC across reboots, so that you can debug a machine that just hangs |
| 57 | during suspend (or more commonly, during resume). |
| 58 | |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 59 | To use this debugging feature you should attempt to suspend the machine, |
| 60 | then reboot it, then run |
| 61 | |
| 62 | dmesg -s 1000000 | grep 'hash matches' |
| 63 | |
| 64 | CAUTION: this option will cause your machine's real-time clock to be |
| 65 | set to an invalid time after a resume. |
| 66 | |
David Brownell | 2bca293 | 2006-08-30 13:54:36 -0700 | [diff] [blame] | 67 | config PM_SYSFS_DEPRECATED |
| 68 | bool "Driver model /sys/devices/.../power/state files (DEPRECATED)" |
| 69 | depends on PM && SYSFS |
| 70 | default n |
| 71 | help |
| 72 | The driver model started out with a sysfs file intended to provide |
| 73 | a userspace hook for device power management. This feature has never |
| 74 | worked very well, except for limited testing purposes, and so it will |
| 75 | be removed. It's not clear that a generic mechanism could really |
| 76 | handle the wide variability of device power states; any replacements |
| 77 | are likely to be bus or driver specific. |
Andrew Morton | 5c31f27 | 2006-06-27 02:53:26 -0700 | [diff] [blame] | 78 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 79 | config SOFTWARE_SUSPEND |
Pavel Machek | 19c3243 | 2005-06-25 14:55:17 -0700 | [diff] [blame] | 80 | bool "Software Suspend" |
Rafael J. Wysocki | 2d4a34c | 2006-12-06 20:34:29 -0800 | [diff] [blame^] | 81 | depends on PM && SWAP && ((X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 82 | ---help--- |
| 83 | Enable the possibility of suspending the machine. |
Adrian Bunk | 3e6e952 | 2006-04-01 01:03:08 +0200 | [diff] [blame] | 84 | It doesn't need ACPI or APM. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 85 | You may suspend your machine by 'swsusp' or 'shutdown -z <time>' |
| 86 | (patch for sysvinit needed). |
| 87 | |
| 88 | It creates an image which is saved in your active swap. Upon next |
| 89 | boot, pass the 'resume=/dev/swappartition' argument to the kernel to |
| 90 | have it detect the saved image, restore memory state from it, and |
| 91 | continue to run as before. If you do not want the previous state to |
| 92 | be reloaded, then use the 'noresume' kernel argument. However, note |
| 93 | that your partitions will be fsck'd and you must re-mkswap your swap |
| 94 | partitions. It does not work with swap files. |
| 95 | |
| 96 | Right now you may boot without resuming and then later resume but |
| 97 | in meantime you cannot use those swap partitions/files which were |
| 98 | involved in suspending. Also in this case there is a risk that buffers |
| 99 | on disk won't match with saved ones. |
| 100 | |
| 101 | For more information take a look at <file:Documentation/power/swsusp.txt>. |
| 102 | |
Pavel Machek | 471b40d | 2006-09-06 00:03:43 -0700 | [diff] [blame] | 103 | (For now, swsusp is incompatible with PAE aka HIGHMEM_64G on i386. |
| 104 | we need identity mapping for resume to work, and that is trivial |
| 105 | to get with 4MB pages, but less than trivial on PAE). |
| 106 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 107 | config PM_STD_PARTITION |
| 108 | string "Default resume partition" |
| 109 | depends on SOFTWARE_SUSPEND |
| 110 | default "" |
| 111 | ---help--- |
| 112 | The default resume partition is the partition that the suspend- |
| 113 | to-disk implementation will look for a suspended disk image. |
| 114 | |
| 115 | The partition specified here will be different for almost every user. |
| 116 | It should be a valid swap partition (at least for now) that is turned |
| 117 | on before suspending. |
| 118 | |
| 119 | The partition specified can be overridden by specifying: |
| 120 | |
| 121 | resume=/dev/<other device> |
| 122 | |
| 123 | which will set the resume partition to the device specified. |
| 124 | |
| 125 | Note there is currently not a way to specify which device to save the |
| 126 | suspended image to. It will simply pick the first available swap |
| 127 | device. |
| 128 | |
Li Shaohua | 5a72e04 | 2005-06-25 14:55:06 -0700 | [diff] [blame] | 129 | config SUSPEND_SMP |
| 130 | bool |
| 131 | depends on HOTPLUG_CPU && X86 && PM |
| 132 | default y |