
From: Pavel Machek <pavel@ucw.cz>


Signed-off-by:  Andrew Morton <akpm@osdl.org>
---

 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.
 
_
