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: Wed, 17 Aug 2005 14:39:39 +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/08/17 14:39:33

Modified files:
        include/asm-mips: mipsmtregs.h 

Log message:
        The .word classic to avoid a few otherwise necessary #ifdefs ...

diff -urN linux/include/asm-mips/mipsmtregs.h 
linux/include/asm-mips/mipsmtregs.h
--- linux/include/asm-mips/mipsmtregs.h 2005/08/16 18:20:43     1.3
+++ linux/include/asm-mips/mipsmtregs.h 2005/08/17 13:39:32     1.4
@@ -171,12 +171,14 @@
        int res = 0;
 
        __asm__ __volatile__(
+       "       .set    push                                            \n"
        "       .set    noreorder                                       \n"
+       "       .set    noat                                            \n"
        "       .set    mips32r2                                        \n"
-       "       dvpe    %0                                              \n"
+       "       move    $1, %0                                          \n"
+       "       .word   0x41610001              # dvpe $1               \n"
        "       ehb                                                     \n"
-       "       .set mips0                                              \n"
-       "       .set reorder                                            \n"
+       "       .set    pop                                             \n"
        : "=r" (res));
 
        instruction_hazard();
@@ -187,12 +189,13 @@
 static inline void __raw_evpe(void)
 {
        __asm__ __volatile__(
-       "       .set    noreorder                               \n"
-       "       .set    mips32r2                                \n"
-       "       evpe                                            \n"
-       "       ehb                                             \n"
-       "       .set    mips0                                   \n"
-       "       .set    reorder                                 \n");
+       "       .set    push                                            \n"
+       "       .set    noreorder                                       \n"
+       "       .set    noat                                            \n"
+       "       .set    mips32r2                                        \n"
+       "       .word   0x41600021              # evpe                  \n"
+       "       ehb                                                     \n"
+       "       .set    pop                                             \n");
 }
 
 /* Enable multiMT if previous suggested it should be.
@@ -211,12 +214,12 @@
        int res;
 
        __asm__ __volatile__(
-       "       .set    noreorder                               \n"
-       "       .set    mips32r2                                \n"
-       "       dmt     %0                                      \n"
-       "       ehb                                             \n"
-       "       .set mips0                                      \n"
-       "       .set reorder                                    \n"
+       "       .set    noreorder                                       \n"
+       "       .set    mips32r2                                        \n"
+       "       dmt     %0                                              \n"
+       "       ehb                                                     \n"
+       "       .set mips0                                              \n"
+       "       .set reorder                                            \n"
        : "=r" (res));
 
        instruction_hazard();
@@ -227,11 +230,11 @@
 static inline void __raw_emt(void)
 {
        __asm__ __volatile__(
-       "       .set    noreorder                               \n"
-       "       .set    mips32r2                                \n"
-       "       emt                                             \n"
-       "       ehb                                             \n"
-       "       .set    mips0                                   \n"
+       "       .set    noreorder                                       \n"
+       "       .set    mips32r2                                        \n"
+       "       emt                                                     \n"
+       "       ehb                                                     \n"
+       "       .set    mips0                                           \n"
        "       .set    reorder");
 }
 
@@ -297,7 +300,7 @@
        : : "r" (v));                                                   \
 })
 
-#define mttc0(rd,sel,v)                                                \
+#define mttc0(rd,sel,v)                                                        
\
 ({                                                                     \
        __asm__ __volatile__(                                           \
        "mttc0\t %0," #rd ", " #sel                                     \

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