[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/4] target/i386: kvm: Init nested-state for vCP
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 2/4] target/i386: kvm: Init nested-state for vCPU exposed with SVM |
Date: |
Thu, 11 Jul 2019 15:35:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 |
On 05/07/19 23:06, Liran Alon wrote:
> Reviewed-by: Joao Martins <address@hidden>
> Signed-off-by: Liran Alon <address@hidden>
> ---
> target/i386/cpu.h | 5 +++++
> target/i386/kvm.c | 2 ++
> 2 files changed, 7 insertions(+)
>
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index 93345792f4cb..cdb0e43676a9 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -1867,6 +1867,11 @@ static inline bool cpu_has_vmx(CPUX86State *env)
> return env->features[FEAT_1_ECX] & CPUID_EXT_VMX;
> }
>
> +static inline bool cpu_has_svm(CPUX86State *env)
> +{
> + return env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_SVM;
> +}
> +
> /* fpu_helper.c */
> void update_fp_status(CPUX86State *env);
> void update_mxcsr_status(CPUX86State *env);
> diff --git a/target/i386/kvm.c b/target/i386/kvm.c
> index b57f873ec9e8..4e2c8652168f 100644
> --- a/target/i386/kvm.c
> +++ b/target/i386/kvm.c
> @@ -1721,6 +1721,8 @@ int kvm_arch_init_vcpu(CPUState *cs)
> env->nested_state->format = KVM_STATE_NESTED_FORMAT_VMX;
> vmx_hdr->vmxon_pa = -1ull;
> vmx_hdr->vmcs12_pa = -1ull;
> + } else if (cpu_has_svm(env)) {
> + env->nested_state->format = KVM_STATE_NESTED_FORMAT_SVM;
> }
> }
>
>
I'm not sure about it. We have no idea what the format will be, so we
shouldn't set the format carelessly.
Paolo