summary refs log tree commit diff stats
path: root/results/classifier/semantic-bugs/instruction/2074
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/semantic-bugs/instruction/2074')
-rw-r--r--results/classifier/semantic-bugs/instruction/207433
1 files changed, 33 insertions, 0 deletions
diff --git a/results/classifier/semantic-bugs/instruction/2074 b/results/classifier/semantic-bugs/instruction/2074
new file mode 100644
index 00000000..475ecd6d
--- /dev/null
+++ b/results/classifier/semantic-bugs/instruction/2074
@@ -0,0 +1,33 @@
+instruction: 0.908
+graphic: 0.839
+device: 0.680
+boot: 0.672
+semantic: 0.448
+other: 0.389
+mistranslation: 0.233
+vnc: 0.171
+socket: 0.147
+network: 0.129
+assembly: 0.101
+KVM: 0.093
+
+riscv64  cannot use the mret instruction to jump to the address corresponding to s mode
+Description of problem:
+I use coreboot to boot my linux kernel.The kernel is copied at 0x82200000,I set reg mepc 0x82200000,and set reg mstatus a00000800.
+and I use "mret" instruction so that qemu can jump to 0x82200000 and enter S mode.But some errors happened.
+It shows:
+[DEBUG]  Exception:          Instruction access fault
+[DEBUG]  Hart ID:            0
+[DEBUG]  Previous mode:      machine
+[DEBUG]  Bad instruction pc: 0x8103f7c0
+[DEBUG]  Bad address:        0x00000000
+[DEBUG]  Stored ra:          0x8103f7b8
+[DEBUG]  Stored sp:          0x82032f08
+Bad instruction pc: 0x8103f7c0 in my elf file instruction is "mret".
+So I can not jump to my kernel's load address.
+I think when I use -bios option,my qemu should in M mode.How could I can jump to my mepc address?
+Steps to reproduce:
+1.download qemu
+2.download coreboot
+Additional information:
+When I enter qemu with -bios option,I find that the reg mstatus is 0xa0000000.