![]() | |||||||||||
Messages in this thread |
Christian Ehrhardt wrote: > > I took the trouble to bisect (manually) exactly which change in the new > boot code triggers this problem. > > 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. > > This is most likely a XEN-bug but given that there is a on line patch > to work around this problem, the linux kernel should probably do this. > My fix is to make the gdt_48 description in setup_gdt static (in > setup_idt this is already the case). This allows the kernel to boot under > XEN-hvm again. Would indeed be a Xen bug, and a pretty serious one too. Quite frankly, it reflects some pretty fundamental misconceptions about how x86 works. > > Sometimes it is a bit disappointing if quite some debuggin work results > in a on line patch :-) Pleae consider applying. > LOL, well, that's usually a good thing. -hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2007-09-04 08:19 [from the cache] ©2003-2008 | |||||||||||