Re: [PATCH 2/2] Provide fast path for "rep ins" emulation if possible.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05.06.2012, at 19:36, Gleb Natapov wrote:

> On Tue, Jun 05, 2012 at 07:27:40PM +0200, Alexander Graf wrote:
>> 
>> On 24.05.2012, at 12:54, Roedel, Joerg wrote:
>> 
>>> On Thu, May 24, 2012 at 01:36:51PM +0300, Avi Kivity wrote:
>>>> On 05/24/2012 01:34 PM, Roedel, Joerg wrote:
>>>>> On Wed, May 23, 2012 at 05:49:31PM +0300, Avi Kivity wrote:
>>>>>> On 05/23/2012 05:40 PM, Avi Kivity wrote:
>>>>>>> On 05/23/2012 05:08 PM, Gleb Natapov wrote:
>>>>>>> If decode assists are not available, we still need to emulate, see 15.33.5.
>>>>>>> 
>>>>>> 
>>>>>> Joerg, the 2010 version of the manual says that the effective segment
>>>>>> (10:12) is only available with decode assists.  The 2012 version says
>>>>>> it's unconditional. What's correct?
>>>>> 
>>>>> It is still conditional and only available with decode-assists. I will
>>>>> talk to the APM authors to clarify this in the documentation.
>>>> 
>>>> Thanks.  As it happens it doesn't matter for INS emulation, only OUTS,
>>>> unless other bits in that word also depend on decode assists.
>>> 
>>> Doesn't look like it. All other bits EXITINFO1 bits for the IOIO
>>> intercept are documented from the very ancient beginnings of SVM. So the
>>> segment number is the only addition.
>> 
>> I do remember some bits missing in early implementations though. Don't ask me what, I just remember that when looking at intercept logs back in the day, some bits were not set even though they were documented as such - and those were pretty crucial bits, which is why we go through the emulator usually.
>> 
> I know exactly why code goes through the emulation because I made it do so :)
> And the reason was because the previous code didn't handle anything
> except string pio to memory with address increment. i.e the case this
> patch turns to fast path.

No, what I'm saying is that the hardware omitted some fields even though they were provided in the spec. IIRC it was the size field, but I could be wrong. Please take an old (phenom / barcelona is old enough) machine and create some traces to make 100% sure that all fields you're trying to read out are actually provided.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux