Hi, this is the second and extended version of my patchset to clean up the code for SVM virtualization in KVM. The patchset was tested with KVM on KVM and showed no regressions. It was tested with Nested Paging and with Shadow Paging on the first-level guest. As a major change this patchset enables the nested SVM code by default. It is still required to start qemu with -enable-nesting, though. Changes to the previous version: * added Acked-by tags * added missing patch descriptions * addressed review comments * dropped dynamic debugging patch (will be replaced by change to tracing infrastructure) * dropped patch moving nested #pf handling because it broke nested SVM with shadow paging * added more cleanups (e.g. removed nested_svm_do and function pointer code flow) * fixed 2 minor issues * enabled nested svm by default Thanks, Joerg Diffstat: arch/x86/kvm/svm.c | 637 +++++++++++++++++++++++++++++----------------------- 1 files changed, 358 insertions(+), 279 deletions(-) Shortlog: Joerg Roedel (21): kvm/svm: add helper functions for global interrupt flag kvm/svm: optimize nested #vmexit kvm/svm: optimize nested vmrun kvm/svm: copy only necessary parts of the control area on vmrun/vmexit kvm/svm: complete interrupts after handling nested exits kvm/svm: move nested svm state into seperate struct kvm/svm: cache nested intercepts kvm/svm: consolidate nested_svm_exit_handled kvm/svm: do nested vmexit in nested_svm_exit_handled kvm/svm: simplify nested_svm_check_exception kvm/svm: get rid of nested_svm_vmexit_real kvm/svm: clean up nested_svm_exit_handled_msr kvm/svm: clean up nestec vmload/vmsave paths kvm/svm: clean up nested vmrun path kvm/svm: remove nested_svm_do and helper functions kvm/svm: handle errors in vmrun emulation path appropriatly kvm/svm: move special nested exit handling to separate function kvm/svm: remove unnecessary is_nested check from svm_cpu_run kvm/svm: move nested_svm_intr main logic out of if-clause kvm/svm: check for nested VINTR flag in svm_interrupt_allowed kvm/svm: enable nested svm by default -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html