[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1290622715-8382-1-git-send-email-joerg.roedel@amd.com>
Date: Wed, 24 Nov 2010 19:18:26 +0100
From: Joerg Roedel <joerg.roedel@....com>
To: Avi Kivity <avi@...hat.com>, Marcelo Tosatti <mtosatti@...hat.com>
CC: <kvm@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: [PATCH 0/9] KVM: Make the instruction emulator aware of Nested Virtualization
Hi Avi, Hi Marcelo,
here is a patch-set to make the instruction emulator aware of nested
virtualization. It basically works by introducing a new callback into
the x86_ops to check if a decoded instruction must be intercepted. If it
is intercepted the instruction emulator returns straight into the guest.
I am not entirely happy with this solution because it partially
duplicates the code in the x86_emulate_insn function. But there are so
many SVM specific cases that need to be taken care of that I consider
this solution the better one (even when looking at the diff-stat).
Keeping this (SVM-specific) complexity in the SVM specific code is
better than extending the generic instruction emulator code path.
The last patch removes the ugly hacks which were required without this
patch-set to correctly handle the selective-cr0-write intercept.
I appreciate your feedback.
Thanks,
Joerg
Diffstat:
arch/x86/include/asm/kvm_emulate.h | 2 +
arch/x86/include/asm/kvm_host.h | 3 +
arch/x86/kvm/svm.c | 330 ++++++++++++++++++++++++++++++------
arch/x86/kvm/vmx.c | 8 +
arch/x86/kvm/x86.c | 5 +
5 files changed, 297 insertions(+), 51 deletions(-)
Shortlog:
Joerg Roedel (9):
KVM: Add infrastructure to emulate instruction intercepts
KVM: SVM: Add checks for CRx read and write intercepts
KVM: SVM: Add checks for DRx read and write intercepts
KVM: SVM: Add intercept checks for descriptor table accesses
KVM: SVM: Add checks for all group 7 instructions
KVM: SVM: Add intercept checks for remaining twobyte instructions
KVM: SVM: Add intercept checks for one-byte instructions
KVM: SVM: Add checks for IO instructions
KVM: SVM: Remove nested sel_cr0_write handling code
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists