From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH 1/2] KVM: X86: remove read buffer for mmio read Date: Mon, 09 Jul 2012 21:23:03 +0800 Message-ID: <4FFADB37.4090705@linux.vnet.ibm.com> References: <4FFA9E16.10001@linux.vnet.ibm.com> <4FFABD59.2070108@redhat.com> <20120709112346.GA23898@redhat.com> <4FFAD341.3080508@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , Marcelo Tosatti , LKML , KVM To: Avi Kivity Return-path: In-Reply-To: <4FFAD341.3080508@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 07/09/2012 08:49 PM, Avi Kivity wrote: > On 07/09/2012 02:23 PM, Gleb Natapov wrote: >> >>> kvm-unit-tests.git has a test for xchg to mmio. Does it still work? >>> >>> I agree this code has to go, but it needs to be replaced by something. >>> Maybe a .valid flag in struct operand. >>> >> Valid will not enough for that. > > If we make everything go through operands, any reason why not? > I noticed some instructions need to read ESP for many times (e.g, iret_real), maybe .valid flag is not enough for this case if the stack is in MMIO, yes? IIUC, I also noticed ESP is not reset back if it is emulated fail (mmio is needed). If the stack located in mmio region, this kind of instruct will be broken, i know no guest will use mmio as stack but SDM does not limit it, is it valid?