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


[Xen-devel] Hypercall from HVM guest

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Hypercall from HVM guest
From: "Emre Can Sezer" <ecsezer@xxxxxxxx>
Date: Thu, 25 Sep 2008 10:55:16 -0400 (EDT)
Delivery-date: Thu, 25 Sep 2008 07:55:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
Importance: Normal
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
User-agent: SquirrelMail/1.4.10a

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:


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?



Xen-devel mailing list

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