From: "Jiaxun Yang" <jiaxun.yang@flygoat.com>
To: "Maciej W. Rozycki" <macro@orcam.me.uk>
Cc: "Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
"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: Sun, 14 Jul 2024 11:11:05 +0800 [thread overview]
Message-ID: <dad7b36f-2e37-44db-939e-cdb454875e2a@app.fastmail.com> (raw)
In-Reply-To: <alpine.DEB.2.21.2407121250350.38148@angie.orcam.me.uk>
在2024年7月12日七月 下午8:22,Maciej W. Rozycki写道:
> On Fri, 12 Jul 2024, Jiaxun Yang wrote:
>
>> >> > It would be good to check with hard-float QEMU configured for writable
>> >> > FCSR.NAN2008 (which is one way original code was verified) that things
>> >> > have not regressed. And also what happens if once our emulation has
>> >> > triggered for the unsupported FCSR.NAN2008 mode, an attempt is made to
>> >> > flip the mode bit via ptrace(2), e.g. under GDB, which I reckon our
>> >> > emulation permits for non-legacy CPUs (and which I think should not be
>> >> > allowed under the new setting).
>> >>
>> >> PTrace is working as expected (reflects emulated value).
>> >
>> > Yes, sure for reads, but how about *writing* to the bit?
>>
>> Tested flipping nan2008 bits with ieee754=emulated with ptrace, it works on some extent.
>> (flipping the bit to unsupported value immediately triggered emulation).
>
> What about the other way round?
It works on both side (NaN2008 binary with ptrace flipped back to legacy and legacy flipped
back to NaN2008).
>
> Anyway I think we need to prevent it from happening, matching runtime
> behaviour, i.e. if the program itself cannot flip FCSR.NAN2008 via CTC1,
> then ptrace(2) must not either. And the same for the emulator in the
> "ieee754=emulated" mode (but not for the emulator modes where the flipping
> is currently permitted), as it would be a one-way switch.
It is out of the scope of this patch I think. Maybe we need a prctl to set NaN2008 status.
We are unable to prevent user applications write NAN2008 bits for the "switchable
QEMU" as well. So I'd perfer leave it as is, and let this feature go into 6.11 so people
can start to use it.
This is actually a request from Debian MIPS team so they can get glibc tests run on
mismatched NaN hardware.
Thanks
>
> In other words we need to be consistent and the NaN mode of operation has
> to be strapped in "ieee754=emulated" mode according to ELF file header's
> EF_MIPS_NAN2008 bit for the duration of execution of a given program.
>
> Likewise FCSR.ABS2008.
>
[...]
--
- Jiaxun
next prev parent reply other threads:[~2024-07-14 3:11 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
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 [this message]
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=dad7b36f-2e37-44db-939e-cdb454875e2a@app.fastmail.com \
--to=jiaxun.yang@flygoat.com \
--cc=corbet@lwn.net \
--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 \
--cc=tsbogend@alpha.franken.de \
/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).