From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
To: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: "Maciej W. Rozycki" <macro@orcam.me.uk>,
"Jonathan Corbet" <corbet@lwn.net>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH v3] MIPS: Implement ieee754 NAN2008 emulation mode
Date: Tue, 9 Jul 2024 10:55:21 +0200 [thread overview]
Message-ID: <Zoz6+YmUk7CBsNFw@alpha.franken.de> (raw)
In-Reply-To: <fbd421a6-cf37-49ab-bdbe-6128a7cae8be@app.fastmail.com>
On Fri, Jun 28, 2024 at 01:33:06AM +0100, Jiaxun Yang wrote:
>
>
> 在2024年6月27日六月 下午8:54,Maciej W. Rozycki写道:
> > 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?
>
> After this patch kernel's copy of t->thread.fpu.fcr31 can disagree with hardware.
> When disagree happens, we trigger emulation.
>
> Before that patch for nan legacy binary running on nan2008 CPU t->thread.fpu.fcr31
> will still be nan2008 (for ieee754=relaxed) so that's not relevant.
I'm considering to apply your patch, how much testing/verification did
this patch see ? Do have some test binaries ?
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
next prev parent reply other threads:[~2024-07-09 8:55 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-12 8:38 [PATCH v3] MIPS: Implement ieee754 NAN2008 emulation mode Jiaxun Yang
2024-06-27 10:58 ` Thomas Bogendoerfer
2024-06-27 11:21 ` Jiaxun Yang
2024-06-27 19:54 ` Maciej W. Rozycki
2024-06-28 0:33 ` Jiaxun Yang
2024-07-09 8:55 ` Thomas Bogendoerfer [this message]
2024-07-10 5:34 ` Jiaxun Yang
2024-07-10 7:36 ` Thomas Bogendoerfer
2024-07-10 8:16 ` Jiaxun Yang
2024-07-10 9:21 ` Maciej W. Rozycki
2024-07-11 1:53 ` Jiaxun Yang
2024-07-11 10:20 ` Maciej W. Rozycki
2024-07-12 0:36 ` Jiaxun Yang
2024-07-12 12:22 ` Maciej W. Rozycki
2024-07-14 3:11 ` Jiaxun Yang
2024-07-15 12:15 ` Maciej W. Rozycki
2024-07-15 12:35 ` Jiaxun Yang
2024-07-15 14:01 ` Maciej W. Rozycki
2024-07-15 16:38 ` YunQiang Su
2024-08-22 8:02 ` Thomas Bogendoerfer
2024-08-22 9:20 ` Jiaxun Yang
2024-07-11 1:47 ` Jiaxun Yang
2024-07-12 11:21 ` Thomas Bogendoerfer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zoz6+YmUk7CBsNFw@alpha.franken.de \
--to=tsbogend@alpha.franken.de \
--cc=corbet@lwn.net \
--cc=jiaxun.yang@flygoat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=macro@orcam.me.uk \
--cc=philmd@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).