> On 21 Jun 2019, at 15:45, Paolo Bonzini <pbonz...@redhat.com> wrote: > > On 21/06/19 14:29, Liran Alon wrote: >>> + max_nested_state_len = kvm_max_nested_state_length(); >>> + if (max_nested_state_len > 0) { >>> + assert(max_nested_state_len >= offsetof(struct kvm_nested_state, >>> data)); >>> + env->nested_state = g_malloc0(max_nested_state_len); >>> + >>> + env->nested_state->size = max_nested_state_len; >>> + >>> + if (IS_INTEL_CPU(env)) { >> I think it’s better to change this to: “if (cpu_has_vmx(env))” { >> >>> + struct kvm_vmx_nested_state_hdr *vmx_hdr = >>> + &env->nested_state->hdr.vmx; >>> + >>> + env->nested_state->format = KVM_STATE_NESTED_FORMAT_VMX; >>> + vmx_hdr->vmxon_pa = -1ull; >>> + vmx_hdr->vmcs12_pa = -1ull; >>> + } >>> + } >> I think we should add here: >> } else if (cpu_has_svm(env)) { >> env->nested_state->format = KVM_STATE_NESTED_FORMAT_SVM; >> } > > Or even force max_nested_state_len to 0 for AMD hosts, so that > kvm_get/put_nested_state are dropped completely. > > Paolo > On AMD hosts, KVM returns 0 for KVM_CAP_NESTED_STATE because Kvm-and.ko have kvm_x86_ops->get_nested_state set to NULL. See kvm_vm_ioctl_check_extension(). I just thought it will be nicer to add what I proposed above as when kernel adds support for nested state on AMD host, QEMU would maybe just work. (Because maybe all state required for AMD nSVM is just flags in env->nested_state->flags). -Liran
- [Qemu-devel] [PULL 21/25] target/i386: kvm: Add support for ... Paolo Bonzini
- [Qemu-devel] [PULL 16/25] target/i386: kvm: Re-inject #DB to... Paolo Bonzini
- [Qemu-devel] [PULL 05/25] i386/kvm: move Hyper-V CPUID filli... Paolo Bonzini
- [Qemu-devel] [PULL 13/25] target/i386: kvm: Delete VMX migra... Paolo Bonzini
- [Qemu-devel] [PULL 18/25] linux-headers: sync with latest KV... Paolo Bonzini
- [Qemu-devel] [PULL 17/25] target/i386: kvm: Block migration ... Paolo Bonzini
- [Qemu-devel] [PULL 07/25] i386/kvm: implement 'hv-passthroug... Paolo Bonzini
- [Qemu-devel] [PULL 20/25] target/i386: kvm: Add support for ... Paolo Bonzini
- Re: [Qemu-devel] [PULL 20/25] target/i386: kvm: Add sup... Liran Alon
- Re: [Qemu-devel] [PULL 20/25] target/i386: kvm: Add... Paolo Bonzini
- Re: [Qemu-devel] [PULL 20/25] target/i386: kvm:... Liran Alon
- Re: [Qemu-devel] [PULL 20/25] target/i386: ... Paolo Bonzini
- Re: [Qemu-devel] [PULL 20/25] target/i... Liran Alon
- Re: [Qemu-devel] [PULL 20/25] targ... Paolo Bonzini
- Re: [Qemu-devel] [PULL 20/25] targ... Liran Alon
- Re: [Qemu-devel] [PULL 20/25] targ... Liran Alon
- [Qemu-devel] [PULL 08/25] i386/kvm: hv-stimer requires hv-ti... Paolo Bonzini
- [Qemu-devel] [PULL 24/25] util/main-loop: Fix incorrect asse... Paolo Bonzini
- [Qemu-devel] [PULL 23/25] sd: Fix out-of-bounds assertions Paolo Bonzini
- [Qemu-devel] [PULL 10/25] i386/kvm: hv-evmcs requires hv-vap... Paolo Bonzini
- [Qemu-devel] [PULL 22/25] target/i386: kvm: Add nested migra... Paolo Bonzini