summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/kernel/1668041
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/kernel/1668041')
-rw-r--r--results/classifier/gemma3:12b/kernel/166804111
1 files changed, 11 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/kernel/1668041 b/results/classifier/gemma3:12b/kernel/1668041
new file mode 100644
index 000000000..cced05ba4
--- /dev/null
+++ b/results/classifier/gemma3:12b/kernel/1668041
@@ -0,0 +1,11 @@
+
+x86 Floating point exceptions - incorrect support?
+
+It seems that qemu does not correctly emulate the x86 support for optionally causing a floating-point exception (#FP) when, for example, dividing by zero. Reports such as:
+
+https://github.com/cloudius-systems/osv/issues/855
+http://stackoverflow.com/questions/15134189/qemu-div-by-zero-mxcsr-register
+
+suggest that setting the exception mask in the fpu cw or mxcsr (e.g., using a function like feenableexcept() in the guest OS) does not generate floating point exceptions on divide by zero. The problem only happens on pure QEMU - when a QEMU/KVM combination is used, the actual hardware does the floating point work, and does throw the exception on divide by zero if so requested.
+
+Looking at the qemu (2.8.0) source code, it seems to me it really lacks support for generating fpu exceptions: For example, helper_fdiv() in target-i386/fpu_helper.c, when it notices the divisor is zero, seems to set the divide-by-zero exception bit, but doesn't seem to check whether it needs to trigger an exception (when the right bits on the x87 or SSE control words are enabled).
\ No newline at end of file