lguest: stop using KVM hypercall mechanism
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 15 Apr 2010 03:43:54 +0000 (21:43 -0600)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 14 Apr 2010 12:13:56 +0000 (21:43 +0930)
commit091ebf07a2408f9a56634caa0f86d9360e9af23b
tree62d3b3424cc1c0dc71b3b750bb1e8e063e658fd3
parent5094aeafbbd500509f648e3cd102b053bc7926b3
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>
arch/x86/include/asm/lguest_hcall.h
arch/x86/lguest/boot.c
arch/x86/lguest/i386_head.S
drivers/lguest/lguest_device.c