On Fri, Aug 23, 2019 at 8:44 AM Peter Maydell <peter.mayd...@linaro.org> wrote: > > On Fri, 23 Aug 2019 at 16:37, Alistair Francis <alistair.fran...@wdc.com> > wrote: > > > > Use the TB_FLAGS_MSTATUS_FS macro when enabling floating point in the tb > > flags. > > > > Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> > > --- > > target/riscv/cpu.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h > > index eb7b5b0af3..0347be453b 100644 > > --- a/target/riscv/cpu.h > > +++ b/target/riscv/cpu.h > > @@ -301,7 +301,7 @@ static inline void cpu_get_tb_cpu_state(CPURISCVState > > *env, target_ulong *pc, > > #else > > *flags = cpu_mmu_index(env, 0); > > if (riscv_cpu_fp_enabled(env)) { > > - *flags |= env->mstatus & MSTATUS_FS; > > + *flags |= TB_FLAGS_MSTATUS_FS; > > } > > #endif > > The old code was setting the bit in flags only if > it was also set in env->mstatus; the new code sets > the bit unconditionally -- deliberate change ?
Yes it is deliberate as the riscv_cpu_fp_enabled() function already does the check. The function contains the exact same & operation inside of it. Alistair > > thanks > -- PMM