23 Oct 00:28
[PATCH v2] lguest: Change over to using KVM hypercalls mechanism
From: Matias Zabaljauregui <zabaljauregui@...>
Subject: [PATCH v2] lguest: Change over to using KVM hypercalls mechanism
Newsgroups: gmane.linux.kernel.virtualization.lguest
Date: 2008-10-22 22:32:06 GMT
Subject: [PATCH v2] lguest: Change over to using KVM hypercalls mechanism
Newsgroups: gmane.linux.kernel.virtualization.lguest
Date: 2008-10-22 22:32:06 GMT
This patch allows us to use KVM hypercalls. Signed-off-by: Matias Zabaljauregui <zabaljauregui@...> --- arch/x86/lguest/boot.c | 87 ++++++++++++++++++++------------- arch/x86/lguest/i386_head.S | 4 +- drivers/lguest/interrupts_and_traps.c | 7 ++- drivers/lguest/lguest_device.c | 4 +- drivers/lguest/x86/core.c | 49 ++++++++++++++++++ include/asm-x86/lguest_hcall.h | 24 ++-------- 6 files changed, 114 insertions(+), 61 deletions(-) diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index c6a6b75..f6ae1cb 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c @@ -106,7 +106,7 @@ static void async_hcall(unsigned long call, unsigned long arg1, local_irq_save(flags); if (lguest_data.hcall_status[next_call] != 0xFF) { /* Table full, so do normal hcall which will flush table. */ - hcall(call, arg1, arg2, arg3); + kvm_hypercall3(call, arg1, arg2, arg3); } else { lguest_data.hcalls[next_call].arg0 = call; lguest_data.hcalls[next_call].arg1 = arg1; @@ -133,13 +133,31 @@ static void async_hcall(unsigned long call, unsigned long arg1, * * So, when we're in lazy mode, we call async_hcall() to store the call for * future processing: */ -static void lazy_hcall(unsigned long call,(Continue reading)
RSS Feed