From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Ofsthun Subject: Re: Hypercall from HVM guest Date: Thu, 25 Sep 2008 14:40:12 -0400 Message-ID: <48DBDB0C.1050001@virtualiron.com> References: <2895.152.14.92.134.1222354516.squirrel@webmail.ncsu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <2895.152.14.92.134.1222354516.squirrel@webmail.ncsu.edu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Emre Can Sezer Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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@lists.xensource.com > http://lists.xensource.com/xen-devel