Re: [PATCH 4/5] target/riscv/tcg/debug: set tinfo version if sdtrig enabled
Alistair Francis <[email protected]>
| Newsgroups | org.nongnu.qemu-riscv,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 2026-08-05 at 15:25 -0300, Daniel Henrique Barboza wrote: > Set 'version' to 1 if we're running Debug 1.0. > > Signed-off-by: Daniel Henrique Barboza > <[email protected]> Reviewed-by: Alistair Francis <[email protected]> Alistair > --- > target/riscv/tcg/debug.c | 11 ++++++++--- > target/riscv/tcg/debug.h | 3 +++ > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/target/riscv/tcg/debug.c b/target/riscv/tcg/debug.c > index 8b23c8d045..06573c7b3f 100644 > --- a/target/riscv/tcg/debug.c > +++ b/target/riscv/tcg/debug.c > @@ -957,9 +957,14 @@ void tdata_csr_write(CPURISCVState *env, int > tdata_index, target_ulong val) > > target_ulong tinfo_csr_read(CPURISCVState *env) > { > - /* assume all triggers support the same types of triggers */ > - return BIT(TRIGGER_TYPE_AD_MATCH) | > - BIT(TRIGGER_TYPE_AD_MATCH6); > + target_ulong val = BIT(TRIGGER_TYPE_AD_MATCH) | > + BIT(TRIGGER_TYPE_AD_MATCH6); > + > + if (debug_trigger_version_1_0(env)) { > + val = deposit64(val, TINFO_VERSION_OFFSET, > TINFO_VERSION_LEN, 1); > + } > + > + return val; > } > > void riscv_cpu_debug_excp_handler(CPUState *cs) > diff --git a/target/riscv/tcg/debug.h b/target/riscv/tcg/debug.h > index eb635bc277..fcd92b768c 100644 > --- a/target/riscv/tcg/debug.h > +++ b/target/riscv/tcg/debug.h > @@ -45,6 +45,9 @@ typedef enum { > TRIGGER_TYPE_NUM > } trigger_type_t; > > +#define TINFO_VERSION_OFFSET 24 > +#define TINFO_VERSION_LEN 8 > + > /* actions */ > typedef enum { > DBG_ACTION_NONE = -1, /* sentinel value */