Hi, Mark

Seems some of your patches are common to MIPS, could you please send
them to linux-mips mailing list[1] and CC to its maintainer: Ralf[2],
the MIPS experts may give you more professional feedbacks.

Since Ralf maintains the patches through patchwork which requires the
patches as mail body, please don't send him as attachment, git
send-email may help.

And could you please add a Signed-off-by line in the patches:

Signed-off-by: Mark H Weaver <m...@netris.org>

And for the last binutils patch, you may need to send it to Nick
Clifton <ni...@redhat.com>, Richard Sandiford
<rdsandif...@googlemail.com> and the mailing list:
binut...@sourceware.org

Regards,
Wu Zhangjin
------------
[1] "linux-mips" <linux-m...@linux-mips.org>
[2] "Ralf Baechle" <r...@linux-mips.org>,

On Sat, Oct 29, 2011 at 3:19 AM, Mark H Weaver <m...@netris.org> wrote:
> Hello all,
>
> Apologies if this has already been addressed, as I am new to this
> mailing list and have not had time to search the archives carefully.
>
> I have found and fixed the underlying cause of the illegal instruction
> (SIGILL) signals sent to processes that execute some Loongson-specific
> floating-point operations (e.g. an madd/msub/nmadd/nmsub instruction
> with a quiet NaN or denormalized floating-point input value).
>
> MIPS and Loongson processors only implement the common cases of
> floating-point arithmetic operations in hardware.  In unusual cases, the
> FPU signals an "Unimplemented instruction exception" and relies upon the
> OS kernel to emulate the instruction in software.
>
> Linux includes a MIPS floating-point emulator to handle these cases, but
> its emulator does not include support for the Loongson variants of
> madd/msub/nmadd/nmsub.  It also does not include support for the
> Loongson operations on "paired-single" floating-point format (vectors of
> two single-precision values).
>
> The following patches add support for these instructions to
> arch/mips/math-emu.  I fixed some other deficiencies in that code as
> well, and those fixes are included in separate patches before the
> Loongson2f patch.
>
> Note that during testing, I found a mistake in the documentation for the
> Loongson 2F.  Page 95 of Loongson2FUserGuide.pdf claims that the
> paired-single floating-point instructions should use a format (fmt)
> field of 11.  However, the processor itself does not seem to recognize
> instructions with (fmt=11).  It seems to be looking for (fmt=22).
> That's the case for the Loongson2F in my Yeeloong anyway (which
> /proc/cpuinfo identifies as "ICT Loongson-2 V0.3 FPU  V0.1").
>
> I also found that the GNU assembler generates instructions with (fmt=22)
> for most (but not all) of the paired-single floating-point instructions.
> The only exceptions I've found are the Loongson-specific madd.ps,
> msub.ps, nmadd.ps, and nmsub.ps instructions, for which GNU as generates
> (fmt=11), although that does not work on my Loongson2F.  Therefore, I
> have also included a patch to GNU binutils (which will also apply to
> GDB) to use fmt=22 for those instructions on Loongson2F.
>
> I should note that the documentation for Loongson 2E (not 2F) also
> claims that the format field for paired-single instructions should use
> fmt=11.  I don't know whether this is a mistake or not, since I do not
> have access to a Loongson 2E processor with which to test.
>
> Finally, two apologies are in order:
>
> * Ideally I should have added support for the entire set of MIPS 5
>  floating-point operations, but I did not have time to do that job, nor
>  do I have a MIPS 5 processor with which to test.  Therefore, these
>  patches address only the Loongson 2F.
>
> * I must admit that I have not tested these patches against the
>  linux-loongson-community kernel.  However, I have tested them against
>  the linux--2.6.39.1-libre-lemote kernel maintained by Alexandre Oliva,
>  and there is no significant difference in arch/mips/math-emu between
>  those two trees.
>
> Comments and suggestions solicited.
>
>      Mark
>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "loongson-dev" group.
> To post to this group, send email to loongson-dev@googlegroups.com.
> To unsubscribe from this group, send email to 
> loongson-dev+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/loongson-dev?hl=en.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"loongson-dev" group.
To post to this group, send email to loongson-dev@googlegroups.com.
To unsubscribe from this group, send email to 
loongson-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/loongson-dev?hl=en.

Reply via email to