On Mon, Oct 20, 2008 at 07:04:50PM +0200, Alexander Graf wrote:
> Normally setting the SVME bit in EFER is not allowed, as we did
> not support SVM. Not since we do, we should also allow enabling
> SVM mode.
> 
> v2 comes as last patch, so we don't enable half-ready code
> v4 introduces a module option to enable SVM
> 
> Signed-off-by: Alexander Graf <[EMAIL PROTECTED]>
> ---
>  arch/x86/kvm/svm.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 4582699..1e63860 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -68,6 +68,9 @@ static int npt = 1;
>  
>  module_param(npt, int, S_IRUGO);
>  
> +static int nested = 0;
> +module_param(nested, int, S_IRUGO);
> +
>  static void kvm_reput_irq(struct vcpu_svm *svm);
>  static void svm_flush_tlb(struct kvm_vcpu *vcpu);
>  
> @@ -457,6 +460,9 @@ static __init int svm_hardware_setup(void)
>       if (boot_cpu_has(X86_FEATURE_NX))
>               kvm_enable_efer_bits(EFER_NX);
>  
> +     if (nested)
> +             kvm_enable_efer_bits(MSR_EFER_SVME_MASK);
> +
>       for_each_online_cpu(cpu) {
>               r = svm_cpu_init(cpu);
>               if (r)


What I think is missing here is some kind of userspace interface. If we
do it this way (with a kernel parameter) we should expose to userspace
if nested svm is enabled. This way userspace knows whether it has to set
the SVM CPUID bit or not.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to