Re: [PATCH 02/43] KVM: VMX: Set EDX at INIT with CPUID.0x1, Family-Model-Stepping

From: Reiji Watanabe
Date: Wed May 19 2021 - 01:59:52 EST


> @@ -4504,7 +4505,11 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
>
> vmx->msr_ia32_umwait_control = 0;
>
> - vmx->vcpu.arch.regs[VCPU_REGS_RDX] = get_rdx_init_val();
> + eax = 1;
> + if (!kvm_cpuid(vcpu, &eax, &dummy, &dummy, &dummy, true))
> + eax = get_rdx_init_val();
> + kvm_rdx_write(vcpu, eax);

Reviewed-by: Reiji Watanabe <reijiw@xxxxxxxxxx>

For RESET, I assume that rdx should be set by userspace
when userspace changes CPUID.0x1.EAX.

BTW, I would think having a default CPUID for CPUID.(EAX=0x1)
would be better for consistency of a vCPU state for RESET.
I would think it doesn't matter practically anyway though.

Thanks,
Reiji