This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] resume of HVM guest without PV drivers

To: "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>, "Jan Beulich" <JBeulich@xxxxxxxxxx>
Subject: RE: [Xen-devel] resume of HVM guest without PV drivers
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Fri, 7 Aug 2009 21:01:17 +1000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 07 Aug 2009 04:13:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C6A1C620.119CE%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4A7C1FAC020000780000EA4F@xxxxxxxxxxxxxxxxxx> <C6A1C620.119CE%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcoXSttlGJsRSvrjSJi6E2VJAu63JAAAmHJVAAAjPVA=
Thread-topic: [Xen-devel] resume of HVM guest without PV drivers
> On 07/08/2009 11:35, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:
> > Besides that, doing hypercalls here also requires that I'll be able
to re-
> > setup the hypercall (or the hypercall page) in case I got migrated
> > between VMX and SVM. While this could certainly be done in a fixup
> > handler invoked from #UD (a little tricky for the hypercall page
case), I
> > find it preferable to synchronously fix things up beforehand.
> Won't you always have a race between checking for migration and then
> entering the cpu-specific hypercall stub?

That's what I was thinking too. The GPLPV drivers (and presumably the
Linux PVonHVM drivers) are very careful about making sure that nothing
else can touch any of the hypercall related stuff after a resume,
keeping all CPU's spinning at a high irql (interrupts disabled etc)
until the hypercall page is restored.

If you are using the hypercall page for anything then I think you need
to have your driver manage the suspend operation too... I think that
xen/xend becomes aware that you are running PV drivers on the basis that
you have set a watch on the shutdown xenstore key, although I'm possibly
wrong about that.


Xen-devel mailing list