On Thu, May 15, 2008 at 01:41:50PM +0800, Huang, Ying wrote: > Hi, Vivek, > > On Wed, 2008-05-14 at 16:52 -0400, Vivek Goyal wrote: > [...] > > Ok, I have done some testing on this patch. Currently I have just > > tested switching back and forth between two kernels and it is working for > > me. > > > > Just that I had to put LAPIC and IOAPIC in legacy mode for it to work. Few > > comments/questions are inline. > > It seems that for LAPIC and IOAPIC, there is > lapic_suspend()/lapic_resume() and ioapic_suspend()/ioapic_resume(), > which will be called before/after kexec jump through > device_power_down()/device_power_up(). So, the mechanism for > LAPIC/IOAPIC is there, we may need to check the corresponding > implementation. > ioapic_suspend() is not putting APICs in Legacy mode and that's why we are seeing the issue. It only saves the IOAPIC routing table entries and these entries are restored during ioapic_resume(). But I think somebody has to put APICs in legacy mode for normal hibernation also. Not sure who does it. May be BIOS, so that during resume, second kernel can get the timer interrupts. Thanks Vivek _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm