[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 09:26:56 UTC 2016


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).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20160512/ccdf4521/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CPUMR0A.patch
Type: text/x-patch
Size: 3343 bytes
Desc: not available
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20160512/ccdf4521/attachment.bin>

More information about the vbox-dev mailing list