[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Hypercall privilege check



> I'm wondering where Xen actually checks whether a hypercall is made
> from ring 1 or ring 3. Could anyone point me out to the code? Any
> pointer would be much appreciated. Thanks!

Hypercalls are made from ring 1.  The userspace tools do make hypercalls 
sometimes, but they do it by calling a special kernel driver, which then does 
the actual hypercall.  *actually* what that does is to jump into the 
hypercall transfer page at the right location.  This page contains the actual 
implementation of the hypercall (using this indirection allows future 
versions of Xen to supply different implementations of the calls, if 
appropriate).

Take a look at:
drivers/xen/privcmd/privcmd.c  in the XenLinux tree.  This is used by the dom0 
tools to do control plane operations.

Also, take a look at: include/asm-i386/mach-xen/asm/hypercall.h which contains 
implementations of some other hypercalls.

HTH,
Cheers,
mark

-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.