blob: fad1140933a20d924b6467ac415fb64ecb819a0c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
graphic: 0.901
device: 0.714
performance: 0.602
architecture: 0.467
kernel: 0.462
vnc: 0.423
ppc: 0.418
permissions: 0.384
files: 0.361
risc-v: 0.355
arm: 0.327
socket: 0.247
boot: 0.240
peripherals: 0.227
mistranslation: 0.222
PID: 0.222
semantic: 0.216
network: 0.205
assembly: 0.203
x86: 0.201
debug: 0.187
VMM: 0.127
register: 0.125
TCG: 0.124
i386: 0.114
user-level: 0.106
virtual: 0.057
KVM: 0.040
hypervisor: 0.005
Skipping a jal instruction in riscv64 baremetal emulation
Description of problem:
The binary contains an illegal instruction after a jal. Normally the jal should be taken but the illegal instructi[aia_tests2.elf](/uploads/b8b646b01d7bcc15b51c36ddbffacac7/aia_tests2.elf)on next to the jal is executed generating and illegal instruction exception:
```
0x80006070: 00200513 addi a0,zero,2
0x80006074: 89cff0ef jal ra,-3940 # 0x80005110
----------------
IN: _Z15int_switch_modehh
0x80006078: 0000 illegal
----------------
IN: mtvec_table
0x8000e600: 64d0406f j 20044 # 0x8001344c
```
Steps to reproduce:
1. Execute the same binary with QEMU.
Additional information:
|