target/riscv: fix vs() to return proper error code

vs() should return -RISCV_EXCP_ILLEGAL_INST instead of -1 if rvv feature
is not enabled.

If -1 is returned, exception will be raised and cs->exception_index will
be set to the negative return value. The exception will then be treated
as an instruction access fault instead of illegal instruction fault.

Backports 5e437d3ccdccfd85f6e69ca60f921be2dab62c3c
This commit is contained in:
Frank Chang 2021-03-30 14:59:30 -04:00 committed by Lioncash
parent 9153951f1e
commit da652cb603

View file

@ -61,7 +61,7 @@ static int vs(CPURISCVState *env, int csrno)
if (env->misa & RVV) { if (env->misa & RVV) {
return 0; return 0;
} }
return -1; return -RISCV_EXCP_ILLEGAL_INST;
} }
static int ctr(CPURISCVState *env, int csrno) static int ctr(CPURISCVState *env, int csrno)