On Sunday, 13 of July 2008, Andi Kleen wrote: > H. Peter Anvin wrote: > > Andi Kleen wrote: > >> > >> Hmm, but the change was not supposed to break the s3 bios. Something > >> fishy is going on. It sounds like the s3 bios relies on some earlier > >> segment register setup. > >> > >> If true this means the segment register reset would need to be moved > >> later after S3 bios ran. Saving/restoring is unfortunately not possible > >> because we cannot save/restore the hidden state loaded from the GDT > >> earlier. > >> > > > > That really doesn't make sense, though. The VESA BIOS has to be entered > > in clean real mode; it's designed to be entered from reset, after all. > > There is definitely something fishy going on, but I don't think this > > particular aspect is it. > > It probably switches to protected mode. I noticed this on my old > Fujitsu laptop when I tried to make the S3 wakeup run in the s2ram x86 emulator > and found it entered protected mode at some point, which x86emu > didn't support. > > I guess Lenovo is doing the same. > > And that protected mode code relies on some GDT values that have been > loaded earlier when the BIOS also went into protected mode. > > It seems the BIOS programmers really don't like real mode anymore. > Somehow understandable. So should we check if we are in real mode at the entry point? That would compilcate things a lot. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html