[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Hypercall from HVM guest

  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • 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
  • Importance: Normal
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>


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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.