summaryrefslogtreecommitdiffstats
path: root/arch/x86/lguest/i386_head.S
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2010-04-14 21:43:54 -0600
committerRusty Russell <rusty@rustcorp.com.au>2010-04-14 21:43:56 +0930
commit091ebf07a2408f9a56634caa0f86d9360e9af23b (patch)
tree62d3b3424cc1c0dc71b3b750bb1e8e063e658fd3 /arch/x86/lguest/i386_head.S
parent5094aeafbbd500509f648e3cd102b053bc7926b3 (diff)
downloadop-kernel-dev-091ebf07a2408f9a56634caa0f86d9360e9af23b.zip
op-kernel-dev-091ebf07a2408f9a56634caa0f86d9360e9af23b.tar.gz
lguest: stop using KVM hypercall mechanism
This is a partial revert of 4cd8b5e2a159 "lguest: use KVM hypercalls"; we revert to using (just as questionable but more reliable) int $15 for hypercalls. I didn't revert the register mapping, so we still use the same calling convention as kvm. KVM in more recent incarnations stopped injecting a fault when a guest tried to use the VMCALL instruction from ring 1, so lguest under kvm fails to make hypercalls. It was nice to share code with our KVM cousins, but this was overreach. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Matias Zabaljauregui <zabaljauregui@gmail.com> Cc: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/lguest/i386_head.S')
-rw-r--r--arch/x86/lguest/i386_head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/lguest/i386_head.S b/arch/x86/lguest/i386_head.S
index 27eac0f..4f420c2f 100644
--- a/arch/x86/lguest/i386_head.S
+++ b/arch/x86/lguest/i386_head.S
@@ -32,7 +32,7 @@ ENTRY(lguest_entry)
*/
movl $LHCALL_LGUEST_INIT, %eax
movl $lguest_data - __PAGE_OFFSET, %ebx
- .byte 0x0f,0x01,0xc1 /* KVM_HYPERCALL */
+ int $LGUEST_TRAP_ENTRY
/* Set up the initial stack so we can run C code. */
movl $(init_thread_union+THREAD_SIZE),%esp
OpenPOWER on IntegriCloud