[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Is it possible to make hypercall from user application directly?
After some study, I got the following understanding. Please correct me if I'm wrong; otherwise, you can just say "correct". 1. In x86_64 mode, xen sets the LSTAR (the EIP of syscall target), and this value keeps constant. This value is code of "syscall_enter" defined in xen/arch/x86/x86_64/entry.S 2. In ENTRY(syscall_enter) ... ... testb $TF_kernel_mode, VCPU_thread_flag(%rbx) jz switch_to_kernel /*hypercall*/ ... so whenever a syscall is issued, "syscall_enter" checks the context. If it decides that the context is "kernel mode", it will treat the syscall as a plain "system call" from user applications. So it goes to "jz switch_to_kernel". Otherwise, it will think it's a hypercall issued from guest domains. 3. So an application can't make "hypercalls" directly because it's context is "kernel mode", so it will always be treated as a system call to the guest OS. Am I right? Thanks, Weiming On Tue, Mar 11, 2008 at 2:50 PM, Daniel Stodden <stodden@xxxxxxxxxx> wrote:
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |