* Using Xen's hypercall interface?
@ 2014-07-06 22:23 Rig Gel
2014-07-06 23:26 ` Andrew Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Rig Gel @ 2014-07-06 22:23 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 915 bytes --]
Hi all,
- I'm sorry if this is a repost, I was informed that this is the correct
mailing list only after sending a msg to xen-users -
I would like to compile a simple ELF which would make a simple a hypercall
from a guest in order to
learn a bit more about the Xen Hypercall interface.
I tried including the hypervisor.h and -I'ing the ./extras/mini-os/ dir but
it seems that I'm missing a few flags or paths in order ot make it fully
compile correctly
Can anyone hint or explain a bit what is the appropriate way to link
against Xen's header files ?
I only need hypervisor.h in order to call some hypercalls
Attached below a sample of my code -
#include <hypervisor.h>
...
snip
...
void test_xen_version(int vers) {
HYPERVISOR_xen_version(vers);
}
( using the xe_version hypercall is just a mere example, I would like to
just know how to link/compile correctly against the required header
files/libs )
[-- Attachment #1.2: Type: text/html, Size: 2577 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: Using Xen's hypercall interface?
2014-07-06 22:23 Using Xen's hypercall interface? Rig Gel
@ 2014-07-06 23:26 ` Andrew Cooper
[not found] ` <CABUdxx7cynbosFFmids7==kLY1kAj8utS8jfWgr3O-UhUrS2dA@mail.gmail.com>
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cooper @ 2014-07-06 23:26 UTC (permalink / raw)
To: Rig Gel, xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 1796 bytes --]
On 06/07/2014 23:23, Rig Gel wrote:
> Hi all,
>
> - I'm sorry if this is a repost, I was informed that this is the
> correct mailing list only after sending a msg to xen-users -
>
> I would like to compile a simple ELF which would make a simple a
> hypercall from a guest in order to
> learn a bit more about the Xen Hypercall interface.
> I tried including the hypervisor.h and -I'ing the ./extras/mini-os/
> dir but it seems that I'm missing a few flags or paths in order ot
> make it fully compile correctly
>
> Can anyone hint or explain a bit what is the appropriate way to link
> against Xen's header files ?
> I only need hypervisor.h in order to call some hypercalls
>
> Attached below a sample of my code -
>
> #include <hypervisor.h>
>
> ...
> snip
> ...
>
> void test_xen_version(int vers) {
> HYPERVISOR_xen_version(vers);
> }
>
> ( using the xe_version hypercall is just a mere example, I would like
> to just know how to link/compile correctly against the required header
> files/libs )
It is not possible to make hypercalls from userspace directly. Allowing
such would cause all kinds of security problems. Linux and other
operating systems a kernel driver which allow hypercalls via ioctl()s on
/dev/xen/privcmd.
You are best starting with libxenctrl which is a thin userspace library
including OS abstraction to make hypercalls.
>From memory, something like:
#include <stdio.h>
#include <xenctrl.h>
int main(void)
{
xc_interface *xch = xc_interface_open(NULL, NULL, 0);
int ver = xc_version(xch, XENVER_version, NULL);
printf("Xen version %d.%d\n", ver >> 16, ver & 0xffff);
xc_interface_close(xch);
return 0;
}
and compiled with `gcc foo.c -o foo -I/path/to/xenctrl.h
-L/path/to/libxenctrl.so -lxenctrl`
ought to get you started.
~Andrew
[-- Attachment #1.2: Type: text/html, Size: 4605 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-07-08 15:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-06 22:23 Using Xen's hypercall interface? Rig Gel
2014-07-06 23:26 ` Andrew Cooper
[not found] ` <CABUdxx7cynbosFFmids7==kLY1kAj8utS8jfWgr3O-UhUrS2dA@mail.gmail.com>
2014-07-07 17:31 ` Rig Gel
2014-07-08 15:03 ` Ian Campbell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.