Message ID | 20190617175658.135869-10-liran.alon@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | : KVM: i386: Add support for save and restore of nested state | expand |
On 6/17/2019 10:56 AM, Liran Alon wrote: > This effectively reverts d98f26073beb ("target/i386: kvm: add VMX migration blocker"). > This can now be done because previous commits added support for Intel VMX migration. > > AMD SVM migration is still blocked. This is because kernel > KVM_CAP_{GET,SET}_NESTED_STATE in case of AMD SVM is not > implemented yet. Therefore, required vCPU nested state is still > missing in order to perform valid migration for vCPU exposed with SVM. > > Signed-off-by: Liran Alon <liran.alon@oracle.com> > --- > target/i386/kvm.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/target/i386/kvm.c b/target/i386/kvm.c > index 797f8ac46435..772c8619efc4 100644 > --- a/target/i386/kvm.c > +++ b/target/i386/kvm.c > @@ -948,7 +948,7 @@ static int hyperv_init_vcpu(X86CPU *cpu) > } > > static Error *invtsc_mig_blocker; > -static Error *nested_virt_mig_blocker; > +static Error *svm_mig_blocker; > > #define KVM_MAX_CPUID_ENTRIES 100 > > @@ -1313,13 +1313,13 @@ int kvm_arch_init_vcpu(CPUState *cs) > !!(c->ecx & CPUID_EXT_SMX); > } > > - if (cpu_has_nested_virt(env) && !nested_virt_mig_blocker) { > - error_setg(&nested_virt_mig_blocker, > - "Nested virtualization does not support live migration yet"); > - r = migrate_add_blocker(nested_virt_mig_blocker, &local_err); > + if (cpu_has_svm(env) && !svm_mig_blocker) { > + error_setg(&svm_mig_blocker, > + "AMD SVM does not support live migration yet"); > + r = migrate_add_blocker(svm_mig_blocker, &local_err); > if (local_err) { > error_report_err(local_err); > - error_free(nested_virt_mig_blocker); > + error_free(svm_mig_blocker); > return r; > } > } Reviewed-by: Maran Wilson <maran.wilson@oracle.com> Thanks, -Maran
diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 797f8ac46435..772c8619efc4 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -948,7 +948,7 @@ static int hyperv_init_vcpu(X86CPU *cpu) } static Error *invtsc_mig_blocker; -static Error *nested_virt_mig_blocker; +static Error *svm_mig_blocker; #define KVM_MAX_CPUID_ENTRIES 100 @@ -1313,13 +1313,13 @@ int kvm_arch_init_vcpu(CPUState *cs) !!(c->ecx & CPUID_EXT_SMX); } - if (cpu_has_nested_virt(env) && !nested_virt_mig_blocker) { - error_setg(&nested_virt_mig_blocker, - "Nested virtualization does not support live migration yet"); - r = migrate_add_blocker(nested_virt_mig_blocker, &local_err); + if (cpu_has_svm(env) && !svm_mig_blocker) { + error_setg(&svm_mig_blocker, + "AMD SVM does not support live migration yet"); + r = migrate_add_blocker(svm_mig_blocker, &local_err); if (local_err) { error_report_err(local_err); - error_free(nested_virt_mig_blocker); + error_free(svm_mig_blocker); return r; } }
This effectively reverts d98f26073beb ("target/i386: kvm: add VMX migration blocker"). This can now be done because previous commits added support for Intel VMX migration. AMD SVM migration is still blocked. This is because kernel KVM_CAP_{GET,SET}_NESTED_STATE in case of AMD SVM is not implemented yet. Therefore, required vCPU nested state is still missing in order to perform valid migration for vCPU exposed with SVM. Signed-off-by: Liran Alon <liran.alon@oracle.com> --- target/i386/kvm.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)