Re: New x86-Setup code breaks HVM-XEN boot

From: Ian Campbell
Date: Wed Sep 05 2007 - 09:22:35 EST


On Fri, 2007-08-31 at 09:54 +0200, Christian Ehrhardt wrote:
> (XEN) (GUEST: 353) Detected Xen v3.0.3-1

I was unable to reproduce this problem on Xen 3.1.0 although I can't
immediately see a particular changeset which obviously fixed it. There
have been plenty of fixes to the emulator since 3.0.3 though so it's
worth trying a newer version.

In a later mail:
> The problem is with the lgdt instruction. Apparently XEN does not keep
> the contents of the 48-bit gdt_48 data structure that is passed to
> lgdt in the XEN machine state. Instead it appears to save the
> _address_ of the 48-bit descriptor somewhere. Unfortunately this data
> happens to reside on the stack and is probably no longer availiable at
> the time of the actual protected mode jump.

The emulation of lgdt (in tools/firmware/vmxassist/vm86.c) looks sane
enough on first glance (i.e. it saves the base and length not the
pointer) although it isn't an area of the code I'm particularly familiar
with.

Ian.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/