qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] RISC-V: Populate mtval and stval
@ 2021-12-10  6:26 Alistair Francis
  2021-12-10  6:26 ` [PATCH 1/2] target/riscv: Set the opcode in DisasContext Alistair Francis
  2021-12-10  6:26 ` [PATCH 2/2] target/riscv: Implement the stval/mtval illegal instruction Alistair Francis
  0 siblings, 2 replies; 5+ messages in thread
From: Alistair Francis @ 2021-12-10  6:26 UTC (permalink / raw)
  To: qemu-devel, qemu-riscv
  Cc: Alistair Francis, palmer, alistair23, Bin Meng, bmeng.cn

From: Alistair Francis <alistair.francis@wdc.com>

Populate mtval and stval when taking an illegal instruction exception.

The RISC-V spec states that "The stval register can optionally also be
used to return the faulting instruction bits on an illegal instruction
exception...". In this case we are always writing the value on an
illegal instruction.

This doesn't match all CPUs (some CPUs won't write the data), but in
QEMU let's just populate the value on illegal instructions. This won't
break any guest software, but will provide more information to guests.

*** BLURB HERE ***

Alistair Francis (2):
  target/riscv: Set the opcode in DisasContext
  target/riscv: Implement the stval/mtval illegal instruction

 target/riscv/cpu.h        |  2 ++
 target/riscv/cpu_helper.c | 25 +++++++++++--------------
 target/riscv/translate.c  |  5 +++++
 3 files changed, 18 insertions(+), 14 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-10 15:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-10  6:26 [PATCH 0/2] RISC-V: Populate mtval and stval Alistair Francis
2021-12-10  6:26 ` [PATCH 1/2] target/riscv: Set the opcode in DisasContext Alistair Francis
2021-12-10 15:28   ` Richard Henderson
2021-12-10  6:26 ` [PATCH 2/2] target/riscv: Implement the stval/mtval illegal instruction Alistair Francis
2021-12-10 15:11   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).