summary refs log tree commit diff stats
path: root/results/classifier/118/arm/1463338
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-16 16:59:00 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-06-16 16:59:33 +0000
commit9aba81d8eb048db908c94a3c40c25a5fde0caee6 (patch)
treeb765e7fb5e9a3c2143c68b0414e0055adb70e785 /results/classifier/118/arm/1463338
parentb89a938452613061c0f1f23e710281cf5c83cb29 (diff)
downloadqemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.tar.gz
qemu-analysis-9aba81d8eb048db908c94a3c40c25a5fde0caee6.zip
add 18th iteration of classifier
Diffstat (limited to 'results/classifier/118/arm/1463338')
-rw-r--r--results/classifier/118/arm/146333854
1 files changed, 54 insertions, 0 deletions
diff --git a/results/classifier/118/arm/1463338 b/results/classifier/118/arm/1463338
new file mode 100644
index 000000000..812d8b8b1
--- /dev/null
+++ b/results/classifier/118/arm/1463338
@@ -0,0 +1,54 @@
+arm: 0.858
+register: 0.770
+mistranslation: 0.709
+user-level: 0.687
+performance: 0.654
+peripherals: 0.620
+architecture: 0.618
+device: 0.586
+graphic: 0.534
+permissions: 0.462
+network: 0.454
+ppc: 0.435
+semantic: 0.432
+socket: 0.386
+hypervisor: 0.357
+files: 0.320
+kernel: 0.311
+x86: 0.304
+i386: 0.284
+assembly: 0.284
+vnc: 0.280
+boot: 0.258
+PID: 0.252
+VMM: 0.227
+risc-v: 0.200
+debug: 0.164
+KVM: 0.153
+TCG: 0.144
+virtual: 0.127
+
+qemu-system-arm injects #UND exception with wrong PC
+
+Usually all accesses to coprocessor registers are only possible in PL1 or higher. When accessing a coprocessor register in user mode, QEMU generates a trap and the PC of the trapping instruction is passed to the OS with an offset of+ 4. Some coprocessor registers can be configured to allow access to them in usermode (PL0). The latest qemu-git (ee09f84e6bf5383a23c9624115c26b72aa1e076c) seems to add an offest of 8 instead of four if such a register is accessed from user mode. This happens only if the coprocessors register that is accessed might also be accessed from PL0. In case all accesses to the coprocessor register from PL0 cause a trap, qemu injects the #UND trap with the correct PC value. 
+
+Attached is a small test program that installs a signal handler for "SIGILL". On a pandaboard the progam prints "Val=0x2 Val2=0x2" whereas on the latest "qemu-system-arm" the output is : "Val=0x1 Val2=0x2"
+
+Qemu was configured with: "./configure --python=`which python2.7` --target-list=arm-softmmu"
+The test can be compiled with: "gcc -g -static test2.c -o test2"
+
+If further information is needed, feel free to ask.
+
+Regards,
+
+Robert
+
+
+
+Thanks for the clear bug report and the test case. I've submitted a patch which fixes this:
+http://patchwork.ozlabs.org/patch/482273/
+
+
+Should be in 2.6.
+
+