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] Declaring new Xen Hypercall

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Declaring new Xen Hypercall
From: "Srujan D. Kotikela" <ksrujandas@xxxxxxxxx>
Date: Tue, 28 Sep 2010 23:43:05 -0500
Delivery-date: Tue, 28 Sep 2010 21:43:57 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=c2elXFxdwZBfionJdxfAFpEw9AiAl96stF3SUUdEpZM=; b=uN//bgXwl2BcQ2R8dgkF7/OOW0faFb24xMx+qrf5+0DG3HqwdwkVCVOfsr5413GPCf CDUqtUy0M/O0VTb0zreM9aCuIavYS6rDypYSPRMYKg37qQ1feJt/8JJJkYVVUaykr1Ri jVLIZUo6XHuBiP5fFInTyX6Q2Dz75Az7KW/z8=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=muOMxRD/UWsdstYWFfmqrnmOEMThvehzk45dOz2fKSmYprfKenD2I0wpYjrwlpwB2M qqHGWUjSwZe3zgVi8lgxqMfvDtq/gjSxvCNGan7qWb0msbdpW7L2n/1//c6KB6lWA4+O oVTbCedzB/pS1JhilG9774M22gf1xDm/P4eTs=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <12871952FC0E29439F861FA745BCDD8503EB0413@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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: <a2a2c15f-7e3d-4e44-a87d-8bee10d555f1@default> <12871952FC0E29439F861FA745BCDD8503EB0413@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi,

The best way to go about this would be, create a new/edit existing library which will have wrappers for your hypercall and use those wrappers from user-space. This would make more sense when your hypercall is for a whole new purpose :)

--
Srujan D. Kotikela


On Tue, Sep 28, 2010 at 4:00 PM, Nimgaonkar, Satyajeet <SatyajeetNimgaonkar@xxxxxxxxxx> wrote:
Dan,
       Let me first try the approach suggested by Keir, if that does not work I will try yours. By the way can you specifically tell me where can I comment out this assembly code.
       Thanks.
________________________________________
From: Dan Magenheimer [dan.magenheimer@xxxxxxxxxx]
Sent: Tuesday, September 28, 2010 2:53 PM
To: Keir Fraser; Nimgaonkar, Satyajeet; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Declaring new Xen Hypercall

Or, if this is for a hypervisor-centric class project and
you just want to see it work rather than submit your work
into mainline Xen... and don't want/need to learn all the
tools/libraries/Linux code to use privcmd/ioctl...

you could just find the assembly code in Xen that rejects
the userland hypercall and comment it out. :-)

> -----Original Message-----
> From: Keir Fraser [mailto: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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>