Hi! > > > The root filesystem is initramfs, so that, the only devices needed by kernel > > > B is timer. > > > e. In kernel B, put needed devices back to normal state. > > > f. Write memory image of kernel A out > > > g. Put all devices in quiescent and low power state > > > h. Execute acpi_enter_sleep_state(ACPI_STATE_S4) > > > > Yes, apart from d. this looks doable. > > > > To deal with the issue of d, the following scheme can be used: > > a. Boot kernel A with ACPI on > b. In kernel A, load the image of a new kernel B with sys_kexec_load > c. In kernel A, put all devices in quiescent and low power state > d. In kernel A, kexec kernel B with ACPI on (some devices may be put in > normal state during boot) > e. In kernel B, put all devices in quiescent and low power state > f. In kernel B, Jump back to kernel A > g. In kernel A, put all devices in normal state > h. In kernel A, put all devices in low power state > i. In kernel A, execute _PTS of ACPI > j. In kernel A, jump to kernel B again > k. In kernel B, put needed devices back to normal state. > l. In kernel B, write memory image of kernel A out > m. In kernel B, put all devices in quiescent and low power state > n. In kernel B, Execute acpi_enter_sleep_state(ACPI_STATE_S4) That starts looking pretty complex. Maybe we should solve the !ACPI case first (should be useful for live crashdumping, etc)? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm