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

Re: [Xen-devel] [PATCH XTF] don't overrun memory object



On 23/01/17 11:09, Jan Beulich wrote:
>>>> On 23.01.17 at 11:51, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 23/01/17 10:45, Andrew Cooper wrote:
>>> On 23/01/17 10:30, Jan Beulich wrote:
>>>> Using MOVUPS on an 8-byte quantity is wrong. There's no need for memory
>>>> accesses in any of the probe_*() functions anyway - switch them all to
>>>> insns without any operands or with register ones.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>> So it is.
>>>
>>> The memory pointers were a leftover from trying to make this test not
>>> use FEP (and therefore suitable for testing older Xen).
>>>
>>> IIRC, the problem was that even with a memory operand, hardware took
>>> care of EM/MP/TS handling before taking a vmexit for MMIO emulation.
>>>
>>> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> and committed.
>> Having said that, this currently regresses the test:
>>
>> --- Xen Test Framework ---
>> Environment: HVM 64bit (Long mode 4 levels)
>> FPU Exception Emulation
>> Testing x87
>> Testing x87 wait
>> Testing MMX
>> Testing SSE
>> Testing SSE (CR4.OSFXSR)
>> Testing emulated x87
>> Testing emulated x87 wait
>> Testing emulated MMX
>>   Expected nothing, got #UD (cr0: - )
>>   Expected #NM, got #UD (cr0: TS)
>>   Expected nothing, got #UD (cr0: MP)
>>   Expected #NM, got #UD (cr0: MP TS)
>> Testing emulated SSE
>> Testing emulated SSE (CR4.OSFXSR)
>> Test result: FAILURE
>>
>> A secondary requirement (to not regress) is that the test only uses
>> instructions present in the emulator in the past, which I chose as being
>> the point when FEP got added (seeing as that is a hard dependency).
> Ah, it didn't regress for me because I ran it on top of the SSE/AVX
> emulation series.
>
>> Would you be happy if I dropped all but the final hunk, i.e. retaining
>> the use of fildq and movq ?
> Well, FNOP has always been supported, so I see no reason to drop
> that. How about replacing PXOR by MOVQ (but retaining the register
> operands)? (And I not that I left MOVUPS in place in error - I had
> really meant to make it XORPS, but this now means one less think for
> you to adjust.)

Using mmx movq reg/reg does work.

Fixed up and pushed.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.