From: Laurent Vivier <Laurent.Vivier@bull.net>
To: Avi Kivity <avi@qumranet.com>
Cc: kvm-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/11] KVM updates for Linux 2.6.24-rc review
Date: Sun, 21 Oct 2007 13:53:55 +0200 [thread overview]
Message-ID: <471B3DD3.3080107@bull.net> (raw)
In-Reply-To: <471B340C.5010800@qumranet.com>
Avi Kivity a écrit :
> Avi Kivity wrote:
>> The following patches fix fallout from the main 2.6.24 KVM merge. An
>> exception is the movnti emulation patch, which adds support for Linux
>> 2.6.16 guests.
>>
>> The patches can be found in kvm.git in the branch kvm-updates-2.6.24.
>> There is also a branch kvm-updates-2.6.25 which will form the basis of
>> the next merge window submission.
>>
>> Please review the patches and let me know if something is wrong or if
>> a patch is missing.
>>
>>
>
>
> Laurent, I believe the following patch (in kvm-updates-2.6.25) needs to
> go into 2.6.24 as well. Can you comment on this?
What kind of comment do you want ?
What are the requirements to go in 2.6.24 instead of 2.6.25 ?
Is a bug correction enough ? :-P
This patch correct a bad behavior of x86_emulate_insn() in case of error with a
REP prefix.
This patch is needed because, without it, when REP prefix is used with an
instruction failing for some reasons (like IO or page fault) we don't restore
all modified registers (like RSI and RDI), but only ECX and EIP, so when we
re-enter in x86_emulate_insn() we modify again an already modified value.
Moreover, this patch manages correctly the case where the instruction fails in
writeback().
>> commit 6de232e39be372f85bea96eb741962acc7fcb1f7
>> Author: Laurent Vivier <Laurent.Vivier@bull.net>
>> Date: Mon Oct 1 11:01:06 2007 +0200
>>
>> KVM: x86 emulator: Correct management of REP prefix
>>
>> This patch corrects some errors appearing when we have an
>> emulation failure
>> on an operation using REP prefix.
>>
>> When x86_emulate_insn() fails, saving EIP and ECX is not enough as
>> emulation
>> should have modified other registers like RSI or RDI. Moreover,
>> the emulation
>> can fail on the writeback, and in this case we are not able to
>> restore
>> registers.
>>
>> At beginning of x86_emulate_insn(), we restore registers from vcpu
>> as they were
>> not modified by x86d_decode_insn() and we save EIP to be able to
>> restore it
>> in case of failure.
>>
>
--
---------------- Laurent.Vivier@bull.net -----------------
"Given enough eyeballs, all bugs are shallow" E. S. Raymond
next prev parent reply other threads:[~2007-10-21 11:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-21 11:08 [PATCH 00/11] KVM updates for Linux 2.6.24-rc review Avi Kivity
2007-10-21 11:08 ` [PATCH 01/11] KVM: x86 emulator: fix merge screwup due to emulator split Avi Kivity
2007-10-21 11:08 ` [PATCH 02/11] KVM: x86 emulator: fix repne/repnz decoding Avi Kivity
2007-10-21 11:08 ` [PATCH 03/11] KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte() Avi Kivity
2007-10-21 11:08 ` [PATCH 04/11] KVM: VMX: Handle NMIs before enabling interrupts and preemption Avi Kivity
2007-10-21 11:08 ` [PATCH 05/11] KVM: VMX: Reset mmu context when entering real mode Avi Kivity
2007-10-21 11:08 ` [PATCH 06/11] KVM: x86 emulator: implement 'movnti mem, reg' Avi Kivity
2007-10-21 11:08 ` [PATCH 07/11] KVM: VMX: Force vm86 mode if setting flags during real mode Avi Kivity
2007-10-21 11:08 ` [PATCH 08/11] KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3 Avi Kivity
2007-10-21 11:08 ` [PATCH 09/11] KVM: Move kvm_guest_exit() after local_irq_enable() Avi Kivity
2007-10-21 11:08 ` [PATCH 10/11] KVM: Fix local apic timer divide by zero Avi Kivity
2007-10-21 11:08 ` [PATCH 11/11] KVM: Improve local apic timer wraparound handling Avi Kivity
2007-10-21 11:12 ` [PATCH 00/11] KVM updates for Linux 2.6.24-rc review Avi Kivity
2007-10-21 11:53 ` Laurent Vivier [this message]
2007-10-21 12:07 ` Avi Kivity
2007-10-21 12:38 ` [kvm-devel] " Laurent Vivier
2007-10-22 9:36 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=471B3DD3.3080107@bull.net \
--to=laurent.vivier@bull.net \
--cc=avi@qumranet.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox