summary refs log tree commit diff stats
path: root/results/classifier/118/kernel/1850
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/kernel/1850')
-rw-r--r--results/classifier/118/kernel/185059
1 files changed, 59 insertions, 0 deletions
diff --git a/results/classifier/118/kernel/1850 b/results/classifier/118/kernel/1850
new file mode 100644
index 00000000..44a0d3b0
--- /dev/null
+++ b/results/classifier/118/kernel/1850
@@ -0,0 +1,59 @@
+register: 0.985
+architecture: 0.937
+kernel: 0.921
+files: 0.852
+semantic: 0.719
+device: 0.700
+graphic: 0.669
+assembly: 0.656
+performance: 0.573
+ppc: 0.540
+PID: 0.443
+arm: 0.439
+network: 0.430
+vnc: 0.405
+socket: 0.378
+permissions: 0.364
+debug: 0.314
+TCG: 0.308
+mistranslation: 0.282
+user-level: 0.270
+x86: 0.255
+risc-v: 0.252
+boot: 0.248
+VMM: 0.196
+virtual: 0.182
+hypervisor: 0.164
+i386: 0.143
+peripherals: 0.134
+KVM: 0.129
+
+AARCH64 Illegal Instruction (CurrentEL)
+Description of problem:
+While emulating Aarch64 in QEMU, whenever the instruction `CurrentEL` is executed,
+QEMU crashes with the following message.
+
+`qemu: uncaught target signal 4 (Illegal instruction) - core dumped
+Illegal instruction (core dumped)`
+
+I've tried both QEMU user space translation (qemu-aarch64-static) and QEMU emulation (qemu-system-aarch64),
+and both fail with the above message.
+
+C Code to reproduce bug, courtesy of https://github.com/cirosantilli/linux-kernel-module-cheat/blob/35684b1b7e0a04a68987056cb15abd97e3d2f0cc/baremetal/arch/aarch64/el.c
+```
+#include <stdio.h>
+#include <inttypes.h>
+
+int main(void) {
+        register uint64_t x0 __asm__ ("x0");
+	__asm__ ("mrs x0, CurrentEL;" : : : "%x0");
+	printf("%" PRIu64 "\n", x0 >> 2);
+	return 0;
+}
+```
+Steps to reproduce:
+1. Copy C code above into file.
+2. Compile code `gcc ./main.c --static`
+3. Execute elf bin `./a.out`
+Additional information:
+