Magellan Linux

Annotation of /trunk/kernel26-magellan/patches-2.6.16-r12/0124-2.6.16.12-mips-floating-point-exceptions.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 72 - (hide annotations) (download)
Mon Jun 5 09:25:38 2006 UTC (17 years, 11 months ago) by niro
File size: 1206 byte(s)
ver bump to 2.6.16-r12:
- updated to linux-2.6.16.19
- updated to ck11

1 niro 72 From: Win Treese <treese@acm.org>
2     Date: Wed, 26 Apr 2006 23:00:04 +0000 (+0100)
3     Subject: [PATCH] MIPS: Fix branch emulation for floating-point exceptions.
4     X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/stable/linux-2.6.16.y.git;a=commitdiff;h=a5ddce5373218e73fbd58c20a96edd730048529d
5    
6     [PATCH] MIPS: Fix branch emulation for floating-point exceptions.
7    
8     In the branch emulation for floating-point exceptions, __compute_return_epc
9     must determine for bc1f et al which condition code bit to test. This is
10     based on bits <4:2> of the rt field. The switch statement to distinguish
11     bc1f et al needs to use only the two low bits of rt, but the old code tests
12     on the whole rt field. This patch masks off the proper bits.
13    
14     Signed-off-by: Win Treese <treese@acm.org>
15     Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17     ---
18    
19     --- a/arch/mips/kernel/branch.c
20     +++ b/arch/mips/kernel/branch.c
21     @@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs
22     bit = (insn.i_format.rt >> 2);
23     bit += (bit != 0);
24     bit += 23;
25     - switch (insn.i_format.rt) {
26     + switch (insn.i_format.rt & 3) {
27     case 0: /* bc1f */
28     case 2: /* bc1fl */
29     if (~fcr31 & (1 << bit))