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

Reply via email to