summary refs log tree commit diff stats
path: root/results/classifier/118/mistranslation-i386/2977
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/mistranslation-i386/2977')
-rw-r--r--results/classifier/118/mistranslation-i386/297771
1 files changed, 71 insertions, 0 deletions
diff --git a/results/classifier/118/mistranslation-i386/2977 b/results/classifier/118/mistranslation-i386/2977
new file mode 100644
index 00000000..ca223eb2
--- /dev/null
+++ b/results/classifier/118/mistranslation-i386/2977
@@ -0,0 +1,71 @@
+i386: 0.970
+mistranslation: 0.880
+architecture: 0.870
+device: 0.805
+graphic: 0.698
+VMM: 0.672
+semantic: 0.643
+performance: 0.642
+vnc: 0.638
+x86: 0.597
+ppc: 0.557
+TCG: 0.520
+files: 0.513
+debug: 0.494
+risc-v: 0.493
+PID: 0.454
+virtual: 0.418
+socket: 0.416
+arm: 0.412
+network: 0.399
+register: 0.385
+boot: 0.377
+permissions: 0.371
+kernel: 0.360
+user-level: 0.287
+hypervisor: 0.210
+assembly: 0.188
+peripherals: 0.103
+KVM: 0.095
+--------------------
+i386: 0.967
+x86: 0.926
+debug: 0.558
+hypervisor: 0.450
+user-level: 0.135
+TCG: 0.120
+virtual: 0.080
+files: 0.065
+kernel: 0.051
+performance: 0.046
+network: 0.037
+register: 0.026
+semantic: 0.020
+PID: 0.017
+architecture: 0.016
+device: 0.010
+VMM: 0.007
+assembly: 0.007
+boot: 0.005
+socket: 0.005
+risc-v: 0.003
+ppc: 0.003
+vnc: 0.002
+peripherals: 0.002
+graphic: 0.001
+KVM: 0.001
+permissions: 0.001
+mistranslation: 0.001
+arm: 0.000
+
+QEMU SVM VMCB exit_code is uint32_t when AMD spec requires uint64_t
+Description of problem:
+QEMU's SVM implementation incorrectly uses a 32-bit parameter for the exit code in the `cpu_vmexit` function, despite the AMD SVM specification requiring a 64-bit exit code field in the VMCB (Virtual Machine Control Block).
+
+I think the issue is in `target/i386/svm.c` in the `cpu_vmexit` function.
+
+The `exit_code` parameter is declared as `uint32_t` but should be `uint64_t` according to the AMD SVM specification. This causes exit codes to be truncated to 32 bits, resulting in values like 0xffff_ffff instead of the expected 0xffff_ffff_ffff_ffff.
+Steps to reproduce:
+
+Additional information:
+[this](https://stackoverflow.com/questions/79632531/qemu-svm-vmcb-exit-code-is-uint32-t-when-amd-spec-requires-uint64-t?noredirect=1#comment140448815_79632531) question I posted on stack overflow