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] Hypercall from HVM guest

To: Emre Can Sezer <ecsezer@xxxxxxxx>
Subject: Re: [Xen-devel] Hypercall from HVM guest
From: Steve Ofsthun <sofsthun@xxxxxxxxxxxxxxx>
Date: Thu, 25 Sep 2008 14:40:12 -0400
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 25 Sep 2008 11:40:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <2895.152.14.92.134.1222354516.squirrel@xxxxxxxxxxxxxxxx>
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: <2895.152.14.92.134.1222354516.squirrel@xxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.16 (X11/20080421)
Emre Can Sezer wrote:
> Hi,
> 
> I'm trying to communicate some information from an HVM guest to Xen. 
> Passing a pointer to a buffer would suffice and the communication will be
> single sided.  What is the best way to do this?
> 
> I've looked into making a hypercall from an HVM guest and came across this
> post on this mailing list by Steve Ofsthun:
> 
> http://lists.xensource.com/archives/html/xen-devel/2006-04/msg00526.html

This code is quite old and much has changed since then.  You should probably 
use the pv on hvm driver code as an example these days 
(xen/unmodified_drivers/linux-2.6/platform-pci).

What hypercalls are you trying to use?  Note that HVM guests are restricted to 
a subset of the normal PV guest hypercalls.

Steve

> 
> However, I'm unable to get this code to work.  I'm running a 64-bit system
> with the linux-2.6.26 kernel downloaded from kernel.org on top of
> xen-3.2.2.  When I compile, I get compilation errors resulting from
> hypercall.h.  I believe this code is intended for 32 bit guests only as
> the structure definitions are different fot the pte_t type.
> 
> The error was:
> In file included from include/asm/xen/hypervisor.h:53,
>                  from /home/ecsezer/kernels/vmcall/./features.c:11:
> include/asm/xen/hypercall.h: In function 'HYPERVISOR_update_va_mapping':
> include/asm/xen/hypercall.h:230: error: 'pte_t' has no member named 'pte_low'
> 
> I tried to modify this code to get rid of compilation errors but a final
> warning still persists and loading the module causes a seg fault.  The
> warning I get is:
>   CC [M]  /home/ecsezer/kernels/hyper/./hypercall.o
> {standard input}: Assembler messages:
> {standard input}:149: Warning: indirect call without `*'
> 
> So I tried to compile with mercurial repository version linux-2.6.18-xen
> and that compiles fine.  However, due to being a different version, I
> can't use the resulting module.
> 
> I would appreciate any insight as to how to proceed.  What could be the
> problem?  Perhaps there is an easier way of passing the information I want
> without a full blown hypercall interface?
> 
> Thanks,
> 
> John
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel


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

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