Public bug reported: 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 ** Affects: qemu Importance: Undecided Status: New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1699567 Title: Qemu does not force SSE data alignment Status in QEMU: New Bug description: 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 To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1699567/+subscriptions