Qemu does not force SSE data alignment
This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1699567
Reported by 'Anatol Pomozov' on 2017-06-21 :
I have an OS that tries to use SSE operations. It works fine in qemu. But it crashes when I try to run the OS at the host cpu using KVM. The instruction that crahes with #GP(0) is movaps ADDR,%xmm0 The documentation says ADDR has to be 16-bytes alignment otherwise #GP is generated. And indeed the problem was with the data alignment. After adjusting it at my side the OS works fine both with Qemu and KVM. It would be great if QEMU followed specification more closely and forced SSE data alignment requirements. It will help to catch alignment issues early and debug it easier. $ qemu-system-x86_64 -version QEMU emulator version 2.9.50 (v2.9.0-1363-g95eef1c68b) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers