linux-mips
[Top] [All Lists]

Re: Switch FPU emulator trap to BREAK instruction

To: Muthu Kumaran <muthukumaranbe@gmail.com>
Subject: Re: Switch FPU emulator trap to BREAK instruction
From: David Daney <ddaney@caviumnetworks.com>
Date: Fri, 05 Feb 2010 09:36:20 -0800
Cc: linux-mips@linux-mips.org
In-reply-to: <4101f55c1002050005t1d7e1b09qe988e39932dfc411@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <4101f55c1002050005t1d7e1b09qe988e39932dfc411@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.21 (X11/20090320)
Muthu Kumaran wrote:
I am using 2.6.18 linux version on MIPS32 core. One of the application
is using intensive floating point operations. This hardware doesn't
have FPU and also the application is not compiled for software
floating point support.
Hence, it is using the floating point emulation.

While running that application, On a timer interrupt there is a normal
integer div instruction which gives wrong result in the HI register.

However, when I applied the following patch, this problem disappeared.

http://kerneltrap.org/mailarchive/git-commits-head/2008/10/30/3873324

When I looked into the patch, handling of invalid instruction
exception is moved from trap to break.

Incorrect analysis. It was changed from an Adress Error (ADE) exception to a BREAK.


There is no other behavioural change in this patch. I really don't
understand the need for this patch, May I ask someone to explain the
background information behind this patch? Is this for any known issue?


The change log states the reason. FPU emulator delay slot emulation was failing on some systems.


David Daney

<Prev in Thread] Current Thread [Next in Thread>