From: Pavel Machek Signed-off-by: Andrew Morton --- 25-akpm/Documentation/power/swsusp.txt | 34 +++++++++++++++++++++++++-------- 25-akpm/Documentation/power/tricks.txt | 2 + 25-akpm/Documentation/power/video.txt | 4 +++ 3 files changed, 32 insertions(+), 8 deletions(-) diff -puN Documentation/power/swsusp.txt~swsusp-documentation-updates Documentation/power/swsusp.txt --- 25/Documentation/power/swsusp.txt~swsusp-documentation-updates Wed May 26 15:36:31 2004 +++ 25-akpm/Documentation/power/swsusp.txt Wed May 26 15:36:31 2004 @@ -123,14 +123,15 @@ server is not hotplug capable. What do y replace ethernet card, resume. If you are fast your users will not even see broken connections. -Q: Maybe I'm missing something, but why doesn't the regular io paths -work? -A: (Basically) you want to replace all kernel data with kernel data saved -on disk. How do you do that using normal i/o paths? If you'll read -"new" data 4KB at a time, you'll crash... because you still need "old" -data to do the reading, and "new" data may fit on same physical spot -in memory. +Q: Maybe I'm missing something, but why don't the regular I/O paths work? + +A: We do use the regular I/O paths. However we cannot restore the data +to its original location as we load it. That would create an +inconsistent kernel state which would certainly result in an oops. +Instead, we load the image into unused memory and then atomically copy +it back to it original location. This implies, of course, a maximum +image size of half the amount of memory. There are two solutions to this: @@ -141,6 +142,10 @@ read "new" data onto free spots, then cl between 0-640KB. That way, I'd have to make sure that 0-640KB is free during suspending, but otherwise it would work... +suspend2 shares this fundamental limitation, but does not include user +data and disk caches into "used memory" by saving them in +advance. That means that the limitation goes away in practice. + Q: Does linux support ACPI S4? A: No. @@ -161,7 +166,7 @@ while machine is suspended-to-disk, Linu Q: My machine doesn't work with ACPI. How can I use swsusp than ? -A: Do reboot() syscall with right parameters. Warning: glibc gets in +A: Do a reboot() syscall with right parameters. Warning: glibc gets in its way, so check with strace: reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, 0xd000fce2) @@ -181,3 +186,16 @@ int main() LINUX_REBOOT_CMD_SW_SUSPEND, 0); return 0; } + +Q: What is 'suspend2'? + +A: suspend2 is 'Software Suspend 2', a forked implementation of +suspend-to-disk which is available as separate patches for 2.4 and 2.6 +kernels from swsusp.sourceforge.net. It includes support for SMP, 4GB +highmem and preemption. It also has a extensible architecture that +allows for arbitrary transformations on the image (compression, +encryption) and arbitrary backends for writing the image (eg to swap +or an NFS share[Work In Progress]). Questions regarding suspend2 +should be sent to the mailing list available through the suspend2 +website, and not to the Linux Kernel Mailing List. We are working +toward merging suspend2 into the mainline kernel. diff -puN Documentation/power/tricks.txt~swsusp-documentation-updates Documentation/power/tricks.txt --- 25/Documentation/power/tricks.txt~swsusp-documentation-updates Wed May 26 15:36:31 2004 +++ 25-akpm/Documentation/power/tricks.txt Wed May 26 15:36:31 2004 @@ -7,6 +7,8 @@ If you want to trick swsusp/S3 into work * go with minimal config, turn off drivers like USB, AGP you don't really need +* turn off APIC and preempt + * use ext2. At least it has working fsck. [If something seemes to go wrong, force fsck when you have a chance] diff -puN Documentation/power/video.txt~swsusp-documentation-updates Documentation/power/video.txt --- 25/Documentation/power/video.txt~swsusp-documentation-updates Wed May 26 15:36:31 2004 +++ 25-akpm/Documentation/power/video.txt Wed May 26 15:36:31 2004 @@ -30,6 +30,10 @@ There are three types of systems where v patched X, and plain text console (no vesafb or radeonfb), see http://www.doesi.gmxhome.de/linux/tm800s3/s3.html. (Acer TM 800) +* radeon systems, where X can soft-boot your video card. You'll need + patched X, and plain text console (no vesafb or radeonfb), see + http://www.doesi.gmxhome.de/linux/tm800s3/s3.html. (Acer TM 800) + Now, if you pass acpi_sleep=something, and it does not work with your bios, you'll get hard crash during resume. Be carefull. _