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

Re: [Xen-devel] accessing xen headers from dom0 kernel module




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


 


Rackspace

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