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

RE: [Xen-devel] Declaring new Xen Hypercall



Hi Keir,
            Can you advice me which file would be the best example for this. I 
am currently looking at xc_linux.c. Is it a good example
            Thanks..
________________________________________
From: Keir Fraser [keir.xen@xxxxxxxxx] on behalf of Keir Fraser [keir@xxxxxxx]
Sent: Tuesday, September 28, 2010 2:40 PM
To: Nimgaonkar, Satyajeet; Dan Magenheimer; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Declaring new Xen Hypercall

Open /proc/xen/privcmd and perform ioctl(IOCTL_PRIVCMD_HYPERCALL) on the
file handle you get back. See many examples in tools/libxc.

 -- Keir

On 28/09/2010 21:34, "Nimgaonkar, Satyajeet"
<SatyajeetNimgaonkar@xxxxxxxxxx> wrote:

> 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



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