linux-cvs-patches
[Top] [All Lists]

CVS Update@linux-mips.org: linux

To: linux-cvs-patches@linux-mips.org
Subject: CVS Update@linux-mips.org: linux
From: ralf@linux-mips.org
Date: Tue, 12 Apr 2005 12:03:23 +0100
Reply-to: linux-mips@linux-mips.org
Sender: linux-cvs-patches-bounce@linux-mips.org
CVSROOT:        /home/cvs
Module name:    linux
Changes by:     ralf@ftp.linux-mips.org 05/04/12 12:03:17

Modified files:
        arch/mips64/kernel: Tag: linux_2_4 traps.c 
        arch/mips/kernel: Tag: linux_2_4 traps.c 

Log message:
        When simulating ll/sc compute the return EPC before modifying the
        registers.

diff -urN linux/arch/mips64/kernel/traps.c linux/arch/mips64/kernel/traps.c
--- linux/arch/mips64/kernel/Attic/traps.c      2004/11/22 13:38:26     
1.30.2.62
+++ linux/arch/mips64/kernel/Attic/traps.c      2005/04/12 11:03:17     
1.30.2.63
@@ -462,9 +462,10 @@
        }
        ll_task = current;
 
+       compute_return_epc(regs);
+
        regs->regs[(opcode & RT) >> 16] = value;
 
-       compute_return_epc(regs);
        return;
 
 sig:
@@ -505,9 +506,9 @@
                goto sig;
        }
 
+       compute_return_epc(regs);
        regs->regs[reg] = 1;
 
-       compute_return_epc(regs);
        return;
 
 sig:
diff -urN linux/arch/mips/kernel/traps.c linux/arch/mips/kernel/traps.c
--- linux/arch/mips/kernel/traps.c      2004/11/22 13:38:23     1.99.2.68
+++ linux/arch/mips/kernel/traps.c      2005/04/12 11:03:17     1.99.2.69
@@ -452,9 +452,10 @@
        }
        ll_task = current;
 
+       compute_return_epc(regs);
+
        regs->regs[(opcode & RT) >> 16] = value;
 
-       compute_return_epc(regs);
        return;
 
 sig:
@@ -495,9 +496,9 @@
                goto sig;
        }
 
+       compute_return_epc(regs);
        regs->regs[reg] = 1;
 
-       compute_return_epc(regs);
        return;
 
 sig:

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