aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/lib/memset.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/lib/memset.S')
-rw-r--r--arch/mips/lib/memset.S28
1 files changed, 14 insertions, 14 deletions
diff --git a/arch/mips/lib/memset.S b/arch/mips/lib/memset.S
index c018a4721693..77dc3b20110a 100644
--- a/arch/mips/lib/memset.S
+++ b/arch/mips/lib/memset.S
@@ -72,7 +72,7 @@ LEAF(memset)
72 72
73FEXPORT(__bzero) 73FEXPORT(__bzero)
74 sltiu t0, a2, LONGSIZE /* very small region? */ 74 sltiu t0, a2, LONGSIZE /* very small region? */
75 bnez t0, small_memset 75 bnez t0, .Lsmall_memset
76 andi t0, a0, LONGMASK /* aligned? */ 76 andi t0, a0, LONGMASK /* aligned? */
77 77
78#ifndef CONFIG_CPU_DADDI_WORKAROUNDS 78#ifndef CONFIG_CPU_DADDI_WORKAROUNDS
@@ -88,28 +88,28 @@ FEXPORT(__bzero)
88 88
89 R10KCBARRIER(0(ra)) 89 R10KCBARRIER(0(ra))
90#ifdef __MIPSEB__ 90#ifdef __MIPSEB__
91 EX(LONG_S_L, a1, (a0), first_fixup) /* make word/dword aligned */ 91 EX(LONG_S_L, a1, (a0), .Lfirst_fixup) /* make word/dword aligned */
92#endif 92#endif
93#ifdef __MIPSEL__ 93#ifdef __MIPSEL__
94 EX(LONG_S_R, a1, (a0), first_fixup) /* make word/dword aligned */ 94 EX(LONG_S_R, a1, (a0), .Lfirst_fixup) /* make word/dword aligned */
95#endif 95#endif
96 PTR_SUBU a0, t0 /* long align ptr */ 96 PTR_SUBU a0, t0 /* long align ptr */
97 PTR_ADDU a2, t0 /* correct size */ 97 PTR_ADDU a2, t0 /* correct size */
98 98
991: ori t1, a2, 0x3f /* # of full blocks */ 991: ori t1, a2, 0x3f /* # of full blocks */
100 xori t1, 0x3f 100 xori t1, 0x3f
101 beqz t1, memset_partial /* no block to fill */ 101 beqz t1, .Lmemset_partial /* no block to fill */
102 andi t0, a2, 0x40-LONGSIZE 102 andi t0, a2, 0x40-LONGSIZE
103 103
104 PTR_ADDU t1, a0 /* end address */ 104 PTR_ADDU t1, a0 /* end address */
105 .set reorder 105 .set reorder
1061: PTR_ADDIU a0, 64 1061: PTR_ADDIU a0, 64
107 R10KCBARRIER(0(ra)) 107 R10KCBARRIER(0(ra))
108 f_fill64 a0, -64, a1, fwd_fixup 108 f_fill64 a0, -64, a1, .Lfwd_fixup
109 bne t1, a0, 1b 109 bne t1, a0, 1b
110 .set noreorder 110 .set noreorder
111 111
112memset_partial: 112.Lmemset_partial:
113 R10KCBARRIER(0(ra)) 113 R10KCBARRIER(0(ra))
114 PTR_LA t1, 2f /* where to start */ 114 PTR_LA t1, 2f /* where to start */
115#if LONGSIZE == 4 115#if LONGSIZE == 4
@@ -126,7 +126,7 @@ memset_partial:
126 .set push 126 .set push
127 .set noreorder 127 .set noreorder
128 .set nomacro 128 .set nomacro
129 f_fill64 a0, -64, a1, partial_fixup /* ... but first do longs ... */ 129 f_fill64 a0, -64, a1, .Lpartial_fixup /* ... but first do longs ... */
1302: .set pop 1302: .set pop
131 andi a2, LONGMASK /* At most one long to go */ 131 andi a2, LONGMASK /* At most one long to go */
132 132
@@ -134,15 +134,15 @@ memset_partial:
134 PTR_ADDU a0, a2 /* What's left */ 134 PTR_ADDU a0, a2 /* What's left */
135 R10KCBARRIER(0(ra)) 135 R10KCBARRIER(0(ra))
136#ifdef __MIPSEB__ 136#ifdef __MIPSEB__
137 EX(LONG_S_R, a1, -1(a0), last_fixup) 137 EX(LONG_S_R, a1, -1(a0), .Llast_fixup)
138#endif 138#endif
139#ifdef __MIPSEL__ 139#ifdef __MIPSEL__
140 EX(LONG_S_L, a1, -1(a0), last_fixup) 140 EX(LONG_S_L, a1, -1(a0), .Llast_fixup)
141#endif 141#endif
1421: jr ra 1421: jr ra
143 move a2, zero 143 move a2, zero
144 144
145small_memset: 145.Lsmall_memset:
146 beqz a2, 2f 146 beqz a2, 2f
147 PTR_ADDU t1, a0, a2 147 PTR_ADDU t1, a0, a2
148 148
@@ -155,11 +155,11 @@ small_memset:
155 move a2, zero 155 move a2, zero
156 END(memset) 156 END(memset)
157 157
158first_fixup: 158.Lfirst_fixup:
159 jr ra 159 jr ra
160 nop 160 nop
161 161
162fwd_fixup: 162.Lfwd_fixup:
163 PTR_L t0, TI_TASK($28) 163 PTR_L t0, TI_TASK($28)
164 LONG_L t0, THREAD_BUADDR(t0) 164 LONG_L t0, THREAD_BUADDR(t0)
165 andi a2, 0x3f 165 andi a2, 0x3f
@@ -167,7 +167,7 @@ fwd_fixup:
167 jr ra 167 jr ra
168 LONG_SUBU a2, t0 168 LONG_SUBU a2, t0
169 169
170partial_fixup: 170.Lpartial_fixup:
171 PTR_L t0, TI_TASK($28) 171 PTR_L t0, TI_TASK($28)
172 LONG_L t0, THREAD_BUADDR(t0) 172 LONG_L t0, THREAD_BUADDR(t0)
173 andi a2, LONGMASK 173 andi a2, LONGMASK
@@ -175,6 +175,6 @@ partial_fixup:
175 jr ra 175 jr ra
176 LONG_SUBU a2, t0 176 LONG_SUBU a2, t0
177 177
178last_fixup: 178.Llast_fixup:
179 jr ra 179 jr ra
180 andi v1, a2, LONGMASK 180 andi v1, a2, LONGMASK