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