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] accessing xen headers from dom0 kernel module

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Subject: Re: [Xen-devel] accessing xen headers from dom0 kernel module
From: david <david_n@xxxxxx>
Date: Wed, 29 Dec 2010 19:44:05 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 29 Dec 2010 10:45:15 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1292925738.4500.1371.camel@xxxxxxxxxxxxxxxxxxxxxx>
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: <4D0F9100.8020003@xxxxxx> <1292925738.4500.1371.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Thunderbird/3.1.7

On 12/21/2010 11:02 AM, Ian Campbell wrote:
On Mon, 2010-12-20 at 17:23 +0000, david wrote:
hi there,

I'm not very familiar with programming kernel modules, so I have a short
question about it.
Is it possible to use functions defined the in xen/include/ header files
of the xen hypervisor in a dom0 kernel-module?
I think my dom0 kernel does not export the required symbols to use this
functions, so it will not work, right?

The interfaces defined in xen/include are internal to the hypervisor and
are not available to guests. In particular a guest can never call a
hypervisor symbol directly as you seem to be asking.

The exception to this is xen/include/public which contains the guest
(including dom0) hypercall interface (and some other shared-memory data
structures). A hypercall is a trap somewhat analogous to a system call
except it is from guest->hypervisor rather than userspace->kernel. They
are invoked by calling into an offset within the hypercall page (a
special page populated with the correct trap instruction for the
architecture).

Most (all?) guests do not build directly against the headers in the Xen
source tree but instead import a copy into their own source, adjusting
for local coding style etc. In Linux these interface headers are in
include/xen/interface. Linux also defines it's own higher level
interfaces to hypercalls (convenience functions and the like), these are
generally in include/xen or arch/x86/include/asm/xen.

Ian.



That's exactly what I wanted to know. Thanks for your fast response.

david

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

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