Hi everyone, I am having some trouble finding the hypercall responsible for handling calls to privcmd operations by a user-level applcation. Can anyone give me a pointer? Right now, I know the user-level applications communicate with the hypervisor through the privcmd driver that is already part of the kernel source. From there they use the hypercall page table to trap to the hypervisor, is this correct? Thank you for your time. cheers, Francisco
On Fri, 2012-04-13 at 12:47 +0100, Francisco Rocha wrote:> Hi everyone, > > I am having some trouble finding the hypercall responsible > for handling calls to privcmd operations by a user-level applcation. > Can anyone give me a pointer?The is no "privcmd hypercall handler". One of the members of the argument struct to IOCTL_PRIVCMD_HYPERCALL is the hypercall number ("op") to call, e.g. __HYPERVISOR_*. The pricvmd driver will make this hypercall on behalf of userspace and it enters at the usual hypercall entry point. Ian.
________________________________________ From: Ian Campbell [Ian.Campbell@citrix.com] Sent: 13 April 2012 13:34 To: Francisco Rocha Cc: xen-devel@lists.xen.org Subject: Re: [Xen-devel] help finding privcmd hypercall handler On Fri, 2012-04-13 at 12:47 +0100, Francisco Rocha wrote:> Hi everyone, > > I am having some trouble finding the hypercall responsible > for handling calls to privcmd operations by a user-level applcation. > Can anyone give me a pointer?The is no "privcmd hypercall handler". One of the members of the argument struct to IOCTL_PRIVCMD_HYPERCALL is the hypercall number ("op") to call, e.g. __HYPERVISOR_*. The pricvmd driver will make this hypercall on behalf of userspace and it enters at the usual hypercall entry point. Ian. I was a bit confused because I was focusing on Xen code. I have been exploring the Linux kernel code and I think now I understand it. Thank you Ian, Francisco