[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PRIVCMD in HVM DomU
On Tue, 2011-06-21 at 16:53 +0100, Srujan Kotikela wrote: > Hi, > > I am using 2.6.18 kernel. I am going to try with a newer kernel (>= > 2.6.36.7). I'm not sure, but I don't think the privcmd stuff works from HVM domU in that kernel. Or at least I'd be very surprised if it did. > > Meanwhile I was looking at the following code in > tools/firmware/hvmloader/hypercall.h > > 44 #define _hypercall0(type, name) \ > > 45 ({ \ > 46 long __res; \ > > 47 asm volatile ( \ > 48 "call "hypercall_pa" + " STR(__HYPERVISOR_##name * 32) \ > > 49 : "=a" (__res) \ > > 50 : \ > 51 : "memory" ); \ > > 52 (type)__res; \ > > 53 }) > > I have few doubts in the code. > > > The name argument in the above macro referes to the name(string type) of the > hypercall like: do_vcpu_op, is it correct? It is pasted onto "__HYPERVISOR_" (line 48) see include/xen/interface/xen.h for the definitions of these hypercall numbers. So it would be just vcpu_op in the example you give. > > What does the type argument refering to? Line 52 makes it pretty obvious it is the return type of the hypercall. Note you should never really be using these macros directly -- they are used internally as part of the implementation the actual hypercall-specific functions. > Should this code be invoked from kernel-space or user-space (if CONFIG_XENFS > is enabled). Only the kernel can make a hypercall. Userspace requires a driver (privcmd) to allow it to make hypercalls. Ian. > > -- > Srujan D. Kotikela > > > On Tue, Jun 21, 2011 at 9:12 AM, Stefano Stabellini > <stefano.stabellini@xxxxxxxxxxxxx> wrote: > > On Mon, 20 Jun 2011, Srujan Kotikela wrote: > > Hi, > > > > I am trying to make a hypercall from a HVM guest. I tried by > copying all the xen-libs from Dom0 to DomU. I am getting an > > error PRIV_CMD not found (obviously). I have searched online > and found installing PV on HVM drivers is a way to go about > > it. However, this won't guarantee that I can make all the > hypercalls (correct me if I am wrong). > > > > I am trying to invoke a custom hypercall (done by modifying > xen_source in dom0). So, is it not possible to have just the > > priv cmd interface in the DomU and invoke a hypercall with > xen libraries copied from Dom0 (these libs have my custom > > hypercall included)? > > > What kernel version are you using? > If you make sure CONFIG_XEN_PVHVM is enabled in your kernel > config, you > should have all the mechanisms in place in the kernel to issue > hypercalls. > At that point if you also make sure CONFIG_XENFS is enabled, > you should > also be able to issue hypercalls from userland. > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |