|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] getting a 32-bit mfn from a 32-on-64 HVM guest
> From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx]
> Sent: Sunday, June 20, 2010 11:56 AM
> To: Dan Magenheimer; Xen-Devel (xen-devel@xxxxxxxxxxxxxxxxxxx)
> Subject: Re: [Xen-devel] getting a 32-bit mfn from a 32-on-64 HVM guest
>
> On 20/06/2010 18:45, "Dan Magenheimer" <dan.magenheimer@xxxxxxxxxx>
> wrote:
>
> > What is the "proper" way to ensure that the cmfn
> > is properly truncated for a 32-bit HVM guest
> > without truncating it for a 64-bit guest? I
> > have used is_pv_32on64_vcpu()... is there an equivalent
> > for HVM? Or do I need to do something entirely different?
>
> See the x86_64 version of arch/x86/hvm/hvm.c:hvm_do_hypercall() which
> uses
> hvm_guest_x86_mode() to get the 'bitness' of the HVM-guest caller. You
> should do the same, probably. Or even have a compat shim around your
> hypercall same as others which have differences between 32- and 64-bit
> struct layouts, and have the dispatch tables in hvm.c (HVM callers) and
> entry.S (PV callers) dispatch to the correct entry point for the
> bitness of
> the caller.
Thanks! The code was already in place for PV (see
tmh_get_tmemop_from_client() in include/xen/tmem_xen.h),
so I just had to add the case for HVM 32-on-64 and
it works! A little more cleanup and I'll submit the patch.
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|