Subject: Re: Xen 1.2 - problems solved!
To: tls@rek.tjls.com, Michael Kukat <michael@unixiron.org>
From: Christian Limpach <chris@pin.lu>
List: port-xen
Date: 12/14/2004 20:24:46
> Actually, cpu_reset() for this port already calls HYPERVISOR_exit.  But it
> does make sense to get rid of the cngetc() loop on halt, and treat "halt"
> just like "reboot" (neither of them does, *or can*, actually reboot, of
> course; you have to do that from domain 0).  Without that, you are correct
> that HYPERVISOR_exit is never called for the "halt" case.

Xen 2.0 supports halt, i.e. the VM won't reboot in that case while reboot
will restart the VM after it exits.  This is actually all implemented inside
the domain controlling domain in domain0 (xend).

> I think that we should also call HYPERVISOR_exit when dropping to DDB if
> we are not domain 0.  But the DDB code is currently shared with the i386
> port, I think, so this would require a minor refactoring of that code.

DDB works with the virtual console on Xen 2.0 and also with the dom0/vga
console on Xen 1.2.  I think there are enough knobs (don't compile in DDB,
don't jump to DDB on failure, ...) to avoid getting stuck in DDB.

Maybe the best way to fix all this for Xen 1.2 is to call HYPERVISOR_exit()
from cngetc() if it's not dom0.

    christian