Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/arch/powerpc64/gen replace kernel-only 'stmd' and '...



details:   https://anonhg.NetBSD.org/src/rev/8c59adf7574f
branches:  trunk
changeset: 753265:8c59adf7574f
user:      mrg <mrg%NetBSD.org@localhost>
date:      Mon Mar 22 01:39:11 2010 +0000

description:
replace kernel-only 'stmd' and 'lmd' operations in userland with equivalent
sequences of code, as done in eg, powerpc64/gen/_setjmp.S rev 1.2.

from dennis.c.ferguson%gmail.com@localhost in PR#43009.

diffstat:

 lib/libc/arch/powerpc64/gen/__sigsetjmp14.S |  16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diffs (40 lines):

diff -r e444d8b4d86c -r 8c59adf7574f lib/libc/arch/powerpc64/gen/__sigsetjmp14.S
--- a/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S       Mon Mar 22 01:29:29 2010 +0000
+++ b/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S       Mon Mar 22 01:39:11 2010 +0000
@@ -1,11 +1,11 @@
-/*     $NetBSD: __sigsetjmp14.S,v 1.1 2006/07/07 21:07:35 ross Exp $   */
+/*     $NetBSD: __sigsetjmp14.S,v 1.2 2010/03/22 01:39:11 mrg Exp $    */
 
 #include <sys/syscall.h>
 #include <machine/asm.h>
 
 #if defined(LIBC_SCCS)
        .text
-       .asciz "$NetBSD: __sigsetjmp14.S,v 1.1 2006/07/07 21:07:35 ross Exp $"
+       .asciz "$NetBSD: __sigsetjmp14.S,v 1.2 2010/03/22 01:39:11 mrg Exp $"
 #endif
 
 ENTRY(__sigsetjmp14)
@@ -22,12 +22,20 @@
        mfcr    %r12
        mr      %r10,%r1
        mr      %r9,%r2
-       stmd    7, 0(%r6)               # save r7-r31
+       i = 0
+       .rept   32-7
+       std     7+i,i*8(%r6)            # save r7-r31
+       i = i + 1
+       .endr
        li      %r3,0
        blr
 
 ENTRY(__siglongjmp14)
-       lmd     7,0(%r3)                # load r7-r31
+       i = 0
+       .rept   32-7
+       ld      7+i,i*8(%r3)            # load r7-r31
+       i = i + 1
+       .endr
        mr      %r6,%r4
        mtlr    %r11
        mtcr    %r12



Home | Main Index | Thread Index | Old Index