[vbox-dev] Virtualbox don't restore FPU segments with 32-bit guests while using xsave/xrstor

quentin buathier qbuathier at tetrane.com
Thu May 12 12:47:01 GMT 2016


This is a sample in C++ which reproduce the problem randomly (1 ~ 2
seconds).
On the same host / guest / cpu that my previous mail.

2016-05-12 12:20 GMT+02:00 quentin buathier <qbuathier at tetrane.com>:

> Hi Michal,
>
> I can't now give a way to reproduce the bug but I'll send an executable if
> I manage to reproduce the problem on something minimalist.
>
> But I can give you the context of the problem:
>  Host OS: Debian jessie 64-bits
>  Guest OS: Debian jessie 32-bits
>  Processor: i7-2600 (and all i7 tested)
>
> PS: Sorry for the previous mail that was accidently sent
>
> Regards,
>
> 2016-05-12 12:18 GMT+02:00 quentin buathier <qbuathier at tetrane.com>:
>
>> Hi Michal,
>>
>> I can't now give a way to reproduce the bug. I'll send an executable if I
>> manage to reproduce the problem on something minimalist.
>>
>> But I can give you the context of the problem:
>>  Host OS: Debian jessie 64-bits
>>
>>
>> 2016-05-12 11:52 GMT+02:00 Michal Necasek <michal.necasek at oracle.com>:
>>
>>>
>>>    Hi Quentin,
>>>
>>>  Thank you for the patch!
>>>
>>>  Unfortunately (?) I can't reproduce the problem that was originally
>>> fixed. Could you please provide a bit more information? What's the host OS,
>>> guest OS, host CPU type? How to reproduce the problem?
>>>
>>>     Regards,
>>>       Michal
>>>
>>>
>>> On 5/12/2016 11:26 AM, quentin buathier wrote:
>>>
>>>> Hi,
>>>>
>>>> As I understand it, there used to be a problem with restoring the FPU
>>>> segments in case of a 64-bit hosts with a 32-bit guest. This issue has
>>>> been fixed by using the macros "SAVE_32_OR_64_FPU" and
>>>> "RESTORE_32_OR_64_FPU" in "src/VBox/VMM/VMMR0/CPUMR0A.asm" (when
>>>> Virtualbox was using fxsave and fxrstor to save and restore the FPU
>>>> context).
>>>>
>>>> But along with the recent support of xsave / xrstor, the bug was
>>>> reintroduced: if the CPU supports xsave/xrstor, Virtualbox uses these
>>>> instructions and the guest's FPU segments are not restored properly.
>>>>
>>>> Please find attached a possible patch to fix this issue (MIT licence).
>>>>
>>>> Regards,
>>>>
>>>>
>>>> _______________________________________________
>>>> vbox-dev mailing list
>>>> vbox-dev at virtualbox.org
>>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>>
>>>>
>>> _______________________________________________
>>> vbox-dev mailing list
>>> vbox-dev at virtualbox.org
>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20160512/afe4ed32/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fpu_segs.cpp
Type: text/x-c++src
Size: 1812 bytes
Desc: not available
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20160512/afe4ed32/attachment.bin>


More information about the vbox-dev mailing list