File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -551,9 +551,11 @@ static bool emulate(riscv_t *rv, rv_insn_t *ir)
551
551
rv -> X [ir -> rd ] = rv -> X [ir -> rs1 ] & rv -> X [ir -> rs2 ];
552
552
break ;
553
553
case rv_insn_ecall : /* ECALL: Environment Call */
554
+ rv -> compressed = false;
554
555
rv -> io .on_ecall (rv );
555
556
return true;
556
557
case rv_insn_ebreak : /* EBREAK: Environment Break */
558
+ rv -> compressed = false;
557
559
rv -> io .on_ebreak (rv );
558
560
return true;
559
561
case rv_insn_wfi : /* WFI: Wait for Interrupt */
@@ -1103,6 +1105,7 @@ static bool emulate(riscv_t *rv, rv_insn_t *ir)
1103
1105
rv -> X [ir -> rd ] = rv -> X [ir -> rs2 ];
1104
1106
break ;
1105
1107
case rv_insn_cebreak : /* C.EBREAK */
1108
+ rv -> compressed = true;
1106
1109
rv -> io .on_ebreak (rv );
1107
1110
/* can branch */
1108
1111
return true;
@@ -1354,14 +1357,12 @@ void rv_step(riscv_t *rv, int32_t cycles)
1354
1357
void ebreak_handler (riscv_t * rv )
1355
1358
{
1356
1359
assert (rv );
1357
- rv -> compressed = false;
1358
1360
rv_except_breakpoint (rv , rv -> PC );
1359
1361
}
1360
1362
1361
1363
void ecall_handler (riscv_t * rv )
1362
1364
{
1363
1365
assert (rv );
1364
- rv -> compressed = false;
1365
1366
rv_except_ecall_M (rv , 0 );
1366
1367
syscall_handler (rv );
1367
1368
}
You can’t perform that action at this time.
0 commit comments