[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Questions about XEN hypercalls
Hi, I want to declare a new hypercall in xen,i saw this post here
and I follow almost like it,but it doesnt work. I have some questions,I really appreciate if anybody can help.
I did the fowllowing steps: 1)Add my hypercall in xen.h ---- #define __HYPERVISOR_test 56
2) Added it to entry.S - hypercall table ---- .quad do_mca /* 48 */ .quad do_test /* 56 */ - hypercall_args_table ---- .byte 1 /* do_mca */ /* 48 */ .byte 0 /* do_test */ /* 56 */ 3) Then declared my hypercall in asm-x86/hypercall.h ---- void do_test(void); 4) Then calling it in schedule.c in xen/common --- void do_test(void){ printk ("Successfull Hypercall made to __HYPERVISOR_test"); } I noticed that some hypercalls are defined as : int rc; int arg=0; //int cmd=1; // //int test; /* Hypercall definitions */ DECLARE_HYPERCALL; hypercall.op = __HYPERVISOR_jeet1; rc = do_xen_hypercall(handle, &hypercall); hypercall.arg[0] = 0; hypercall.arg[1] = (unsigned long)&arg; //printf ("Hypercall Details: %d\n", rc); //xc_interface_close(handle); return rc; } but some of them are not defined this way using handler and ... why ? what is the difference of them? the other are just defined as : ....do_foo_bar(...) and how should I know where and in which file I should define my hypercall? and as I followed the steps in that post I get this error: domain_build.c:1178:1: error: implicit declaration of function ‘do_test’ I invoked my hypercall in this file once with rc and handler and once without them just : do_test(); but both returned this error. I dont want to invoke my hypercall in user mode so I didn't invoke it in a user program. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |