On Fri, Dec 07, 2007 at 09:19:09PM +0100, Rafael J. Wysocki wrote: ...
> > > Well, there's a patchset in the current mainline that allows you to use > > > arbitrary (sufficiently new) kernel to load the image and then restore the > > > image kernel. So, you can hibernate 2.6.24-rc3 and use 2.6.24-rc2 to > > > restore > > > it, for example. > > > > > > I'm going to do that for i386 too. > > right, this is d307c4a8e826c44f9633bd3f7e60d0491e7d885a (Hibernation: > > Arbitrary > > boot kernel support - generic code), i should've seen that. What's the > > status of > > those bits, from a quick scan it seems they need some rewiring (Kconfig, > > e.g. > > CONFIG_ARCH_HIBERNATION_HEADER etc..) and arch-specific save and restore > > functions? > > No, this code is fully functional. :-) > > The arch save and restore functions are in arch/x86/kernel/suspend_64.c . > > As I said, i386 is not yet supported. nice, holler if you need a tester when you have some prototypes ready. By the way, what do you do when the suspend image header mismatches and it is unsafe to continue booting? Also, there's a freakishly long comment in suspend_64.c, might wanna shorten it: Signed-off-by: Borislav Petkov <[EMAIL PROTECTED]> diff --git a/arch/x86/kernel/suspend_64.c b/arch/x86/kernel/suspend_64.c index db284ef..0a23e5f 100644 --- a/arch/x86/kernel/suspend_64.c +++ b/arch/x86/kernel/suspend_64.c @@ -118,7 +118,12 @@ void fix_processor_context(void) int cpu = smp_processor_id(); struct tss_struct *t = &per_cpu(init_tss, cpu); - set_tss_desc(cpu,t); /* This just modifies memory; should not be necessary. But... This is necessary, because 386 hardware has concept of busy TSS or some similar stupidity. */ + /* + * This just modifies memory; should not be necessary. But... This + * is necessary, because 386 hardware has concept of busy TSS or some + * similar stupidity. + */ + set_tss_desc(cpu,t); cpu_gdt(cpu)[GDT_ENTRY_TSS].type = 9; @@ -138,7 +143,6 @@ void fix_processor_context(void) loaddebug(¤t->thread, 6); loaddebug(¤t->thread, 7); } - } #ifdef CONFIG_HIBERNATION -- Regards/Gruß, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/