[PARISC] Disable use of fpregs in pa_memcpy
Randolph Chung [Sat, 22 Oct 2005 02:48:34 +0000 (22:48 -0400)]
Disable use of fpregs in pa_memcpy, and turn on the
-mdisable-fpregs flag.

Signed-off-by: Randolph Chung <tausq@parisc-linux.org>

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>

arch/parisc/Makefile
arch/parisc/lib/memcpy.c

index 3b339b1..e3549f4 100644 (file)
@@ -43,7 +43,7 @@ cflags-y      += -mno-space-regs -mfast-indirect-calls
 # Currently we save and restore fpregs on all kernel entry/interruption paths.
 # If that gets optimized, we might need to disable the use of fpregs in the
 # kernel.
-#cflags-y      += -mdisable-fpregs
+cflags-y       += -mdisable-fpregs
 
 # Without this, "ld -r" results in .text sections that are too big
 # (> 0x40000) for branches to reach stubs.
index feb1b9f..b709803 100644 (file)
@@ -339,6 +339,7 @@ unsigned long pa_memcpy(void *dstp, const void *srcp, unsigned long len)
        pds = (double *)pcs;
        pdd = (double *)pcd;
 
+#if 0
        /* Copy 8 doubles at a time */
        while (len >= 8*sizeof(double)) {
                register double r1, r2, r3, r4, r5, r6, r7, r8;
@@ -366,6 +367,7 @@ unsigned long pa_memcpy(void *dstp, const void *srcp, unsigned long len)
                fstdma(d_space, r8, pdd, pmc_store_exc);
                len -= 8*sizeof(double);
        }
+#endif
 
        pws = (unsigned int *)pds;
        pwd = (unsigned int *)pdd;