S3 sleep no longer works on x86_64 in 2.6.27
From: Gleb Natapov <hidden>
Date: 2008-10-23 12:24:09
From: Gleb Natapov <hidden>
Date: 2008-10-23 12:24:09
Hi, S3 sleep no longer works on x86_64 (at least in KVM, but it looks like this is the kernel bug). Kernel 2.6.26 works. I think that the commit that caused the problem is a939098af, but I can't be 100% sure since compilation is broken at this point. Triple fault happens during S3 resume. It happens in arch/x86/kernel/head_64.S during access to GDT after it was loaded on line 213 (lgdt early_gdt_descr(%rip)) early_gdt_descr points to per_cpu__gdt_page and this address contains valid GDT entries during a regular boot, but on S3 resume in contains garbage. It seems that per_cpu area is reallocated somewhere, but I don't understand this magic enough to fix it. Can somebody look at this and explain what happens? -- Gleb.