[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |