WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] new hypercall implementation question

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: RE: [Xen-devel] new hypercall implementation question
From: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>
Date: Thu, 23 Jul 2009 14:39:27 -0700 (PDT)
Cc: "Xen-Devel \(E-mail\)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 23 Jul 2009 14:40:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4A68D577.8060200@xxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> On 07/23/09 07:31, Dan Magenheimer wrote:
> > Is it safe to pass three guest virtual addresses via a hypercall
> > to Xen and expect Xen to safely copy data (two scalars and one
> > array of pagesize-bytes... not necessarily aligned on a page
> > boundary) back to the guest, or do I need to do something fancy
> > to avoid weird corner cases, e.g. to ensure restartabililty
> > in case of guest page fault?
> >
> > This is a privileged-only hypercall used only as part of
> > save/restore/live-migrate (for tmem) if that is relevant.
> >   
> 
> For x86 its OK to pass kernel vaddrs to Xen and have it interpret them
> with the current pagetable.  There should be no pagefaults, or rather,
> the hypercall will fail with EFAULT.
> 
> I think ia64 has problems with anything other than physical addresses
> being passed, and has to do all that handle stuff to convert.

Thanks for the reply.  After sending, I remembered that
the "proper" way to do this in Xen tools is to bracket
the hypercall with lock_pages/unlock_pages for any vaddr
passed to the hypercall.  I hope that's not too horribly
expensive.

Thanks,
Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>