[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-users] Re: Possible to run Xen inside QEMU?

  • To: mlmail@xxxxxxxxxx, xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Mon, 2 Apr 2007 14:21:46 +0200
  • Delivery-date: Mon, 02 Apr 2007 05:21:07 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Thread-index: Acd1H/H5Zj5H1O5/TsGkxqKk/7TR4QAABKkg
  • Thread-topic: [Xen-users] Re: Possible to run Xen inside QEMU?

> Ok, I'll try different emulations later.
> Do you have an idea why xen simply reboots/stops without any
> Error-Message?

As a general rule, that indicates a "triple-fault", which is when a
fault in the processor causes a second fault which in turn causes a
third fault - it would be possible to let the processor recursively
fault forever, but it's pretty pointless to do, so there is a layered
approach of "first fault, double-fault, triple-fault". Double-fault is
supposed to be handled "clean", but of course there are scenarios where
the processor just hasn't got a chance to "get out of trouble"
(typically when some global resource like the IDT or GDT has been
overwritten with garbage). Triple-fault as such will stop the processor
with a special "pattern" on the pins to indicate that it is a
"triple-fault stop".

Since it's pretty pointless to have a system just sit there after a
triple-fault, the engineers at this time (at the time of the 80286)
invented a mechanism in the chipset to do a soft-reset at this point, so
as to restart the machine. A little while later, someone figured out
that this was a good way to actually restart a PC, so ever since there's
been code to "zero GDT, cause a trap" (typically, just load GDT with a
length of zero followed by an INT3 instruction) to restart the machine.
This was particularly useful when using 286 processor to get out of
protected mode (as there was no instruction to disable protected mode
once in there) - something that had to be done quite frequently in early
OS/2 to make use of "dos-mode" for example. [It's faster to do a
triple-fault than it is to talk to the keyboard controller to issue a
reset-signal that way, which is the alternative method].

QEMU obviously should follow this pattern of "restart with
triple-fault", otherwise it's "broken" for certain old applications. 

> regards
> Johannes
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.