summary refs log tree commit diff stats
path: root/results/classifier/118/debug/1916269
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/debug/1916269')
-rw-r--r--results/classifier/118/debug/191626987
1 files changed, 87 insertions, 0 deletions
diff --git a/results/classifier/118/debug/1916269 b/results/classifier/118/debug/1916269
new file mode 100644
index 00000000..98f248b3
--- /dev/null
+++ b/results/classifier/118/debug/1916269
@@ -0,0 +1,87 @@
+debug: 0.826
+socket: 0.821
+x86: 0.786
+i386: 0.786
+graphic: 0.779
+device: 0.775
+TCG: 0.750
+performance: 0.742
+files: 0.739
+architecture: 0.720
+register: 0.712
+arm: 0.677
+ppc: 0.666
+kernel: 0.664
+peripherals: 0.659
+user-level: 0.658
+network: 0.656
+semantic: 0.654
+hypervisor: 0.644
+vnc: 0.626
+mistranslation: 0.626
+boot: 0.615
+permissions: 0.589
+risc-v: 0.568
+VMM: 0.547
+PID: 0.535
+assembly: 0.473
+virtual: 0.401
+KVM: 0.297
+
+TCG: QEMU incorrectly raises exception on SSE4.2 CRC32 instruction
+
+If I run FreeBSD on QEMU 5.2 with TCG acceleration -cpu Nehalem, I get a FPU exception when executing crc32 (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253617). This is not a problem with the default CPU (or KVM) since that does not support SSE 4.2.
+
+Attaching GDB shows this is triggered in target/i386/tcg/translate.c:3067
+
+    /* simple MMX/SSE operation */
+    if (s->flags & HF_TS_MASK) {
+        gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);
+        return;
+    }
+
+However, according to https://software.intel.com/sites/default/files/m/8/b/8/D9156103.pdf, page 61 the CRC32 instruction works no matter what the value of the TS bit.
+
+The code sequence in question is:
+0xffffffff8105a4de <+126>:	f2 48 0f 38 f1 de	crc32q %rsi,%rbx
+0xffffffff8105a4e4 <+132>:	f2 48 0f 38 f1 ca	crc32q %rdx,%rcx.
+
+This should work even with the FPU disabled.
+
+Could someone familiar with the target/i386 decode logic could have a look at this? It should be a rather simple change to avoid the exception for the crc32 encoding. However, I am not familiar with x86 instruction encodings so it would take me a long time to come up with a correct patch.
+Thanks!
+
+The QEMU project is currently moving its bug tracking to another system.
+For this we need to know which bugs are still valid and which could be
+closed already. Thus we are setting the bug state to "Incomplete" now.
+
+If the bug has already been fixed in the latest upstream version of QEMU,
+then please close this ticket as "Fix released".
+
+If it is not fixed yet and you think that this bug report here is still
+valid, then you have two options:
+
+1) If you already have an account on gitlab.com, please open a new ticket
+for this problem in our new tracker here:
+
+    https://gitlab.com/qemu-project/qemu/-/issues
+
+and then close this ticket here on Launchpad (or let it expire auto-
+matically after 60 days). Please mention the URL of this bug ticket on
+Launchpad in the new ticket on GitLab.
+
+2) If you don't have an account on gitlab.com and don't intend to get
+one, but still would like to keep this ticket opened, then please switch
+the state back to "New" or "Confirmed" within the next 60 days (other-
+wise it will get closed as "Expired"). We will then eventually migrate
+the ticket automatically to the new system (but you won't be the reporter
+of the bug in the new system and thus you won't get notified on changes
+anymore).
+
+Thank you and sorry for the inconvenience.
+
+
+[Expired for QEMU because there has been no activity for 60 days.]
+
+Reported on GitLab as https://gitlab.com/qemu-project/qemu/-/issues/427
+