On Tue, Nov 12, 2024 at 7:13 PM Fea.Wang <fea.w...@sifive.com> wrote: > > Svukte extension add UKTE bit, bit[8] in senvcfg CSR. The bit will be > supported when the svukte extension is enabled. > > When senvcfg[UKTE] bit is set, the memory access from U-mode should do > the svukte check only except HLV/HLVX/HSV H-mode instructions which > depend on hstatus[HUKTE]. > > Signed-off-by: Fea.Wang <fea.w...@sifive.com> > Reviewed-by: Frank Chang <frank.ch...@sifive.com> > Reviewed-by: Jim Shu <jim....@sifive.com> > Reviewed-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > target/riscv/cpu_bits.h | 1 + > target/riscv/csr.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h > index 385a2c67c2..4b9f899217 100644 > --- a/target/riscv/cpu_bits.h > +++ b/target/riscv/cpu_bits.h > @@ -785,6 +785,7 @@ typedef enum RISCVException { > #define SENVCFG_CBIE MENVCFG_CBIE > #define SENVCFG_CBCFE MENVCFG_CBCFE > #define SENVCFG_CBZE MENVCFG_CBZE > +#define SENVCFG_UKTE BIT(8) > > #define HENVCFG_FIOM MENVCFG_FIOM > #define HENVCFG_LPE MENVCFG_LPE > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > index 9846770820..1936a6f32a 100644 > --- a/target/riscv/csr.c > +++ b/target/riscv/csr.c > @@ -2453,6 +2453,10 @@ static RISCVException write_senvcfg(CPURISCVState > *env, int csrno, > mask |= SENVCFG_SSE; > } > > + if (env_archcpu(env)->cfg.ext_svukte) { > + mask |= SENVCFG_UKTE; > + } > + > env->senvcfg = (env->senvcfg & ~mask) | (val & mask); > return RISCV_EXCP_NONE; > } > -- > 2.34.1 > >