[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <287435CB-DC24-4E59-9320-A8F75DAA5555@gmail.com>
Date: Wed, 28 Oct 2015 10:10:34 +0200
From: Nadav Amit <nadav.amit@...il.com>
To: Wanpeng Li <wanpeng.li@...mail.com>
Cc: Paolo Bonzini <pbonzini@...hat.com>,
kvm list <kvm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] KVM: x86: fix eflags state following processor init/reset
Here are my 5 cents. Note that vmx_vcpu_reset calls:
vmcs_writel(GUEST_RFLAGS, 0x02);
(And the RFLAGS value is not cached by KVM, so no consistency problem should
occur.)
You may want to change the value into constant or call a wrapper function
for setting RFLAGS, but I don’t see something broken in the functionality.
Regards,
Nadav
Wanpeng Li <wanpeng.li@...mail.com> wrote:
> Ping, :-)
> On 10/21/15 2:28 PM, Wanpeng Li wrote:
>> Reference SDM 3.4.3:
>>
>> Following initialization of the processor (either by asserting the
>> RESET pin or the INIT pin), the state of the EFLAGS register is
>> 00000002H.
>>
>> However, the eflags fixed bit is not set and other bits are also not
>> cleared during the init/reset in kvm.
>>
>> This patch fix it by set eflags register to 00000002H following
>> initialization of the processor.
>>
>> Signed-off-by: Wanpeng Li <wanpeng.li@...mail.com>
>> ---
>> arch/x86/kvm/vmx.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
>> index b680c2e..326f6ea 100644
>> --- a/arch/x86/kvm/vmx.c
>> +++ b/arch/x86/kvm/vmx.c
>> @@ -4935,6 +4935,7 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
>> vmx_set_efer(vcpu, 0);
>> vmx_fpu_activate(vcpu);
>> update_exception_bitmap(vcpu);
>> + vmx_set_rflags(vcpu, X86_EFLAGS_FIXED);
>> vpid_sync_context(vmx->vpid);
>> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists