Re: [PATCH v3] MIPS: Implement ieee754 NAN2008 emulation mode
From: Maciej W. Rozycki
Date: Thu Jun 27 2024 - 15:54:55 EST
On Thu, 27 Jun 2024, Jiaxun Yang wrote:
> >> @@ -318,6 +318,10 @@ void mips_set_personality_nan(struct arch_elf_state *state)
> >> t->thread.fpu.fcr31 = c->fpu_csr31;
> >> switch (state->nan_2008) {
> >> case 0:
> >> + if (!(c->fpu_msk31 & FPU_CSR_NAN2008))
> >> + t->thread.fpu.fcr31 &= ~FPU_CSR_NAN2008;
> >> + if (!(c->fpu_msk31 & FPU_CSR_ABS2008))
> >> + t->thread.fpu.fcr31 &= ~FPU_CSR_ABS2008;
> >
> > why is this needed?
>
> Because t->thread.fpu.fcr31 comes from c->fpu_csr31, in this case we the default
> value of c->fpu_csr31 is read from hardware and we don't know what would that be.
But it has always been like this. What has changed with your patch that
you need to mask the bit out now?
Maciej