On Tue, 2007-11-20 at 03:24 +0100, Rafael J. Wysocki wrote:Situation is a little different between u/swsusp and khiberantion. u/swsusp: platform_start(); suspend console(); device_suspend(PMSG_FREEZE); platform_pre_snapshot(); disable_nonboot_cpus(); local_irq_disable(); device_power_down(PMSG_FREEZE); /* create snapshot */ device_power_up(); local_irq_enable(); enable_nonboot_cpus(); platform_finish(); device_resume(); resume_console(); /* write the image out */ hibernation_ops->start(); suspend_console(); device_suspend(PMSG_SUSPEND); hibernation_ops->prepare(); disable_nonboot_cpus(); local_irq_disable(); device_power_down(PMSG_SUSPEND); hibernation_ops->enter(); khibernation: suspend_console(); platform_start(); device_suspend(PMSG_FREEZE); platform_pre_snapshot(); disable_nonboot_cpus(); local_irq_disable(); device_power_down(PMSG_FREEZE); /* jump to kexeced (hibernating) kernel */ /* in kexeced kernel */ device_power_up(); local_irq_eanble(); enable_nonboot_cpus(); device_resume(); resume_console(); /* write the image */ suspend_console(); device_suspend(PMSG_FREEZE); disable_nonboot_cpus(); local_irq_disable(); device_power_down(PMSG_FREEZE); /* jump to original (hibernated) kernel */ /* in original kernel */ hibernation_ops->enter(); The difference is: - In u/swsusp, ACPI methods are executed twice, before writing out the image and after writing out the image. - After writing out the image, the PMSG_SUSPEND is used instead of PMSG_FREEZE. Some questions: - What is the difference between PMSG_SUSPEND and PMSG_FREEZE? - The ACPI methods should be executed once or twice? According to ACPI specification? Best Regards, Huang Ying -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 006/196] Chinese: add translation of oops-tracing.txt |
| Hiten Pandya | Re: up? (emacs docbook xml ide) |
| Andrew Morton | -mm merge plans for 2.6.23 |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 28/37] dccp: Integration of dynamic feature activation - part 3 (client side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gregory Haskins | [RFC PATCH 00/17] virtual-bus |
