* [PATCH] sparc32: removed unused code, implemented by generic code
@ 2011-04-21 14:21 Daniel Hellstrom
2011-04-21 23:47 ` [PATCH] sparc32: removed unused code, implemented by generic David Miller
2011-04-22 6:49 ` [PATCH] sparc32: removed unused code, implemented by daniel
0 siblings, 2 replies; 3+ messages in thread
From: Daniel Hellstrom @ 2011-04-21 14:21 UTC (permalink / raw)
To: sparclinux
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
---
arch/sparc/lib/Makefile | 1 -
arch/sparc/lib/rwsem_32.S | 224 ---------------------------------------------
2 files changed, 0 insertions(+), 225 deletions(-)
delete mode 100644 arch/sparc/lib/rwsem_32.S
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
index 846d1c4..7f01b8f 100644
--- a/arch/sparc/lib/Makefile
+++ b/arch/sparc/lib/Makefile
@@ -15,7 +15,6 @@ lib-$(CONFIG_SPARC32) += divdi3.o udivdi3.o
lib-$(CONFIG_SPARC32) += copy_user.o locks.o
lib-y += atomic_$(BITS).o
lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o
-lib-$(CONFIG_SPARC32) += rwsem_32.o
lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o
lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o
diff --git a/arch/sparc/lib/rwsem_32.S b/arch/sparc/lib/rwsem_32.S
deleted file mode 100644
index c998f6f..0000000
--- a/arch/sparc/lib/rwsem_32.S
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Assembly part of rw semaphores.
- *
- * Copyright (C) 1999 Jakub Jelinek (jakub@redhat.com)
- */
-
-#include <asm/ptrace.h>
-#include <asm/psr.h>
-
- .section .sched.text, "ax"
- .align 4
-
- .globl ___down_read
-___down_read:
- rd %psr, %g3
- nop
- nop
- nop
- or %g3, PSR_PIL, %g7
- wr %g7, 0, %psr
- nop
- nop
- nop
-#ifdef CONFIG_SMP
-#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
-1: ldstub [%g1 + 4], %g7
-#else
-1: set 4, %g7
- ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
-#endif
- tst %g7
- bne 1b
- ld [%g1], %g7
- sub %g7, 1, %g7
- st %g7, [%g1]
- stb %g0, [%g1 + 4]
-#else
- ld [%g1], %g7
- sub %g7, 1, %g7
- st %g7, [%g1]
-#endif
- wr %g3, 0, %psr
- add %g7, 1, %g7
- nop
- nop
- subcc %g7, 1, %g7
- bneg 3f
- nop
-2: jmpl %o7, %g0
- mov %g4, %o7
-3: save %sp, -64, %sp
- mov %g1, %l1
- mov %g4, %l4
- bcs 4f
- mov %g5, %l5
- call down_read_failed
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba ___down_read
- restore %l5, %g0, %g5
-4: call down_read_failed_biased
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba 2b
- restore %l5, %g0, %g5
-
- .globl ___down_write
-___down_write:
- rd %psr, %g3
- nop
- nop
- nop
- or %g3, PSR_PIL, %g7
- wr %g7, 0, %psr
- sethi %hi(0x01000000), %g2
- nop
- nop
-#ifdef CONFIG_SMP
-#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
-1: ldstub [%g1 + 4], %g7
-#else
-1: set 4, %g7
- ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
-#endif
- tst %g7
- bne 1b
- ld [%g1], %g7
- sub %g7, %g2, %g7
- st %g7, [%g1]
- stb %g0, [%g1 + 4]
-#else
- ld [%g1], %g7
- sub %g7, %g2, %g7
- st %g7, [%g1]
-#endif
- wr %g3, 0, %psr
- add %g7, %g2, %g7
- nop
- nop
- subcc %g7, %g2, %g7
- bne 3f
- nop
-2: jmpl %o7, %g0
- mov %g4, %o7
-3: save %sp, -64, %sp
- mov %g1, %l1
- mov %g4, %l4
- bcs 4f
- mov %g5, %l5
- call down_write_failed
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba ___down_write
- restore %l5, %g0, %g5
-4: call down_write_failed_biased
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba 2b
- restore %l5, %g0, %g5
-
- .text
- .globl ___up_read
-___up_read:
- rd %psr, %g3
- nop
- nop
- nop
- or %g3, PSR_PIL, %g7
- wr %g7, 0, %psr
- nop
- nop
- nop
-#ifdef CONFIG_SMP
-#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
-1: ldstub [%g1 + 4], %g7
-#else
-1: set 4, %g7
- ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
-#endif
- tst %g7
- bne 1b
- ld [%g1], %g7
- add %g7, 1, %g7
- st %g7, [%g1]
- stb %g0, [%g1 + 4]
-#else
- ld [%g1], %g7
- add %g7, 1, %g7
- st %g7, [%g1]
-#endif
- wr %g3, 0, %psr
- nop
- nop
- nop
- cmp %g7, 0
- be 3f
- nop
-2: jmpl %o7, %g0
- mov %g4, %o7
-3: save %sp, -64, %sp
- mov %g1, %l1
- mov %g4, %l4
- mov %g5, %l5
- clr %o1
- call __rwsem_wake
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba 2b
- restore %l5, %g0, %g5
-
- .globl ___up_write
-___up_write:
- rd %psr, %g3
- nop
- nop
- nop
- or %g3, PSR_PIL, %g7
- wr %g7, 0, %psr
- sethi %hi(0x01000000), %g2
- nop
- nop
-#ifdef CONFIG_SMP
-#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
-1: ldstub [%g1 + 4], %g7
-#else
-1: set 4, %g7
- ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
-#endif
- tst %g7
- bne 1b
- ld [%g1], %g7
- add %g7, %g2, %g7
- st %g7, [%g1]
- stb %g0, [%g1 + 4]
-#else
- ld [%g1], %g7
- add %g7, %g2, %g7
- st %g7, [%g1]
-#endif
- wr %g3, 0, %psr
- sub %g7, %g2, %g7
- nop
- nop
- addcc %g7, %g2, %g7
- bcs 3f
- nop
-2: jmpl %o7, %g0
- mov %g4, %o7
-3: save %sp, -64, %sp
- mov %g1, %l1
- mov %g4, %l4
- mov %g5, %l5
- mov %g7, %o1
- call __rwsem_wake
- mov %l1, %o0
- mov %l1, %g1
- mov %l4, %g4
- ba 2b
- restore %l5, %g0, %g5
--
1.5.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] sparc32: removed unused code, implemented by generic
2011-04-21 14:21 [PATCH] sparc32: removed unused code, implemented by generic code Daniel Hellstrom
@ 2011-04-21 23:47 ` David Miller
2011-04-22 6:49 ` [PATCH] sparc32: removed unused code, implemented by daniel
1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2011-04-21 23:47 UTC (permalink / raw)
To: sparclinux
From: Daniel Hellstrom <daniel@gaisler.com>
Date: Thu, 21 Apr 2011 16:21:39 +0200
> Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
I had to do the rwsem_32.S removal by hand because:
> -#ifdef CONFIG_SMP
> -#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
> -1: ldstub [%g1 + 4], %g7
> -#else
> -1: set 4, %g7
> - ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
> -#endif
these leon hacks are not in any of my trees.
But otherwise applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sparc32: removed unused code, implemented by
2011-04-21 14:21 [PATCH] sparc32: removed unused code, implemented by generic code Daniel Hellstrom
2011-04-21 23:47 ` [PATCH] sparc32: removed unused code, implemented by generic David Miller
@ 2011-04-22 6:49 ` daniel
1 sibling, 0 replies; 3+ messages in thread
From: daniel @ 2011-04-22 6:49 UTC (permalink / raw)
To: sparclinux
On Thu, 21 Apr 2011 16:47:01 -0700 (PDT), David Miller wrote:
From: Daniel Hellstrom <daniel@gaisler.com>
> Date: Thu, 21 Apr 2011 16:21:39 +0200
>
> > Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
>
> I had to do the rwsem_32.S removal by hand because:
>
> > -#ifdef CONFIG_SMP
> > -#if !(defined(CONFIG_SPARC_LEON) && defined(CONFIG_SMP))
> > -1: ldstub [%g1 + 4], %g7
> > -#else
> > -1: set 4, %g7
> > - ldstuba [%g1 + %g7] 1, %g7 /* ASI_LEON23_DCACHE_MISS */
> > -#endif
>
> these leon hacks are not in any of my trees.
>
> But otherwise applied, thanks.
Yeah, these are ugly LEON hacks not part of the kernel.. Thanks for
applying the patches.
Daniel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-04-22 6:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-21 14:21 [PATCH] sparc32: removed unused code, implemented by generic code Daniel Hellstrom
2011-04-21 23:47 ` [PATCH] sparc32: removed unused code, implemented by generic David Miller
2011-04-22 6:49 ` [PATCH] sparc32: removed unused code, implemented by daniel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.