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

RE: [Xen-devel] Declaring new Xen Hypercall



Hi Dan,
            So is there an alternate route to call a hypercall from userspace 
programs. Can you please advice?

________________________________________
From: Dan Magenheimer [dan.magenheimer@xxxxxxxxxx]
Sent: Tuesday, September 28, 2010 2:29 PM
To: Nimgaonkar, Satyajeet; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Declaring new Xen Hypercall

If I recall correctly, the assembly language code in Xen
that is executed first when a hypercall enters into Xen
checks if the hypercall is done from userpace and disallows
the call (returning -1) if it is.

> -----Original Message-----
> From: Nimgaonkar, Satyajeet [mailto:SatyajeetNimgaonkar@xxxxxxxxxx]
> Sent: Tuesday, September 28, 2010 2:07 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-devel] Declaring new Xen Hypercall
>
> Hi All,
>          I am currently working on declaring a new hypercall in Xen.
> For this i have declared my hypercall in xen.h -
> #define __HYPERVISOR_jeet1                56
>
> Then I modified the xcom_privcmd.c to accomodate my hypercall -
>         case __HYPERVISOR_jeet1:
>                 printk("Successfull Hypercall made to
> __HYPERVISOR_jeet1");
>
> And then I am calling this Hypercall through an user level program-
>
> #include </home/satyajeet/Important_Softwares/xen-
> 3.4.3/tools/libxc/xc_private.h>
> #include <xenctrl.h>
> #include <stdio.h>
>
> int main(){
>
>        printf("Attempt to invoke the hypercall: __HYPERVISOR_jeet1\n");
>        int handle, rc;
>
>          /* Acquire Hypervisor Interface Handle.
>             This handle goes as the first argument for the function
> do_xen_hypercall()
>          */
>
>        handle = xc_interface_open();
>        printf ("Acquired handle to Xen Hypervisor:%d\n",handle);
>
>        /* Hypercall definitions */
>
>        DECLARE_HYPERCALL;
>        hypercall.op     = __HYPERVISOR_jeet1;
>        rc = do_xen_hypercall(handle, &hypercall);
>        printf ("Hypercall Details: %d\n", rc);
>
>        xc_interface_close(handle);
>
>        return 0;
>
> }
>
> The program compiles properly but gives me -1 error for rc. Can anyone
> please tell me what I am doing wrong here. Also please tell me where
> should I view the output of printk in xen.
>
> Thanks in advance.
>
> Regards,
> Satyajeet Nimgaonkar
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

_______________________________________________
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®.