diff options
Diffstat (limited to 'results/classifier/118/kernel/2074')
| -rw-r--r-- | results/classifier/118/kernel/2074 | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/results/classifier/118/kernel/2074 b/results/classifier/118/kernel/2074 new file mode 100644 index 000000000..27ff14cab --- /dev/null +++ b/results/classifier/118/kernel/2074 @@ -0,0 +1,50 @@ +kernel: 0.902 +debug: 0.848 +graphic: 0.839 +device: 0.680 +performance: 0.679 +boot: 0.672 +architecture: 0.650 +risc-v: 0.549 +semantic: 0.448 +x86: 0.416 +peripherals: 0.375 +user-level: 0.371 +permissions: 0.314 +PID: 0.280 +ppc: 0.246 +mistranslation: 0.233 +register: 0.228 +i386: 0.213 +virtual: 0.210 +vnc: 0.171 +socket: 0.147 +network: 0.129 +hypervisor: 0.118 +TCG: 0.113 +VMM: 0.102 +assembly: 0.101 +KVM: 0.093 +arm: 0.072 +files: 0.063 + +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. |