pacache.S (bd3bb8c15b9a80dbddfb7905b237a4a11a4725b4) pacache.S (872f6debcae63309eb39bfc2cc9462fb83450ee0)
1/*
2 * PARISC TLB and cache flushing support
3 * Copyright (C) 2000-2001 Hewlett-Packard (John Marvin)
4 * Copyright (C) 2001 Matthew Wilcox (willy at parisc-linux.org)
5 * Copyright (C) 2002 Richard Hirst (rhirst with parisc-linux.org)
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by

--- 72 unchanged lines hidden (view full) ---

81 LDREG ITLB_SID_BASE(%r1), %r20
82 LDREG ITLB_SID_STRIDE(%r1), %r21
83 LDREG ITLB_SID_COUNT(%r1), %r22
84 LDREG ITLB_OFF_BASE(%r1), %arg0
85 LDREG ITLB_OFF_STRIDE(%r1), %arg1
86 LDREG ITLB_OFF_COUNT(%r1), %arg2
87 LDREG ITLB_LOOP(%r1), %arg3
88
1/*
2 * PARISC TLB and cache flushing support
3 * Copyright (C) 2000-2001 Hewlett-Packard (John Marvin)
4 * Copyright (C) 2001 Matthew Wilcox (willy at parisc-linux.org)
5 * Copyright (C) 2002 Richard Hirst (rhirst with parisc-linux.org)
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by

--- 72 unchanged lines hidden (view full) ---

81 LDREG ITLB_SID_BASE(%r1), %r20
82 LDREG ITLB_SID_STRIDE(%r1), %r21
83 LDREG ITLB_SID_COUNT(%r1), %r22
84 LDREG ITLB_OFF_BASE(%r1), %arg0
85 LDREG ITLB_OFF_STRIDE(%r1), %arg1
86 LDREG ITLB_OFF_COUNT(%r1), %arg2
87 LDREG ITLB_LOOP(%r1), %arg3
88
89 ADDIB= -1, %arg3, fitoneloop /* Preadjust and test */
89 addib,COND(=) -1, %arg3, fitoneloop /* Preadjust and test */
90 movb,<,n %arg3, %r31, fitdone /* If loop < 0, skip */
91 copy %arg0, %r28 /* Init base addr */
92
93fitmanyloop: /* Loop if LOOP >= 2 */
94 mtsp %r20, %sr1
95 add %r21, %r20, %r20 /* increment space */
96 copy %arg2, %r29 /* Init middle loop count */
97
98fitmanymiddle: /* Loop if LOOP >= 2 */
90 movb,<,n %arg3, %r31, fitdone /* If loop < 0, skip */
91 copy %arg0, %r28 /* Init base addr */
92
93fitmanyloop: /* Loop if LOOP >= 2 */
94 mtsp %r20, %sr1
95 add %r21, %r20, %r20 /* increment space */
96 copy %arg2, %r29 /* Init middle loop count */
97
98fitmanymiddle: /* Loop if LOOP >= 2 */
99 ADDIB> -1, %r31, fitmanymiddle /* Adjusted inner loop decr */
99 addib,COND(>) -1, %r31, fitmanymiddle /* Adjusted inner loop decr */
100 pitlbe 0(%sr1, %r28)
101 pitlbe,m %arg1(%sr1, %r28) /* Last pitlbe and addr adjust */
100 pitlbe 0(%sr1, %r28)
101 pitlbe,m %arg1(%sr1, %r28) /* Last pitlbe and addr adjust */
102 ADDIB> -1, %r29, fitmanymiddle /* Middle loop decr */
102 addib,COND(>) -1, %r29, fitmanymiddle /* Middle loop decr */
103 copy %arg3, %r31 /* Re-init inner loop count */
104
105 movb,tr %arg0, %r28, fitmanyloop /* Re-init base addr */
103 copy %arg3, %r31 /* Re-init inner loop count */
104
105 movb,tr %arg0, %r28, fitmanyloop /* Re-init base addr */
106 ADDIB<=,n -1, %r22, fitdone /* Outer loop count decr */
106 addib,COND(<=),n -1, %r22, fitdone /* Outer loop count decr */
107
108fitoneloop: /* Loop if LOOP = 1 */
109 mtsp %r20, %sr1
110 copy %arg0, %r28 /* init base addr */
111 copy %arg2, %r29 /* init middle loop count */
112
113fitonemiddle: /* Loop if LOOP = 1 */
107
108fitoneloop: /* Loop if LOOP = 1 */
109 mtsp %r20, %sr1
110 copy %arg0, %r28 /* init base addr */
111 copy %arg2, %r29 /* init middle loop count */
112
113fitonemiddle: /* Loop if LOOP = 1 */
114 ADDIB> -1, %r29, fitonemiddle /* Middle loop count decr */
114 addib,COND(>) -1, %r29, fitonemiddle /* Middle loop count decr */
115 pitlbe,m %arg1(%sr1, %r28) /* pitlbe for one loop */
116
115 pitlbe,m %arg1(%sr1, %r28) /* pitlbe for one loop */
116
117 ADDIB> -1, %r22, fitoneloop /* Outer loop count decr */
117 addib,COND(>) -1, %r22, fitoneloop /* Outer loop count decr */
118 add %r21, %r20, %r20 /* increment space */
119
120fitdone:
121
122 /* Flush Data Tlb */
123
124 LDREG DTLB_SID_BASE(%r1), %r20
125 LDREG DTLB_SID_STRIDE(%r1), %r21
126 LDREG DTLB_SID_COUNT(%r1), %r22
127 LDREG DTLB_OFF_BASE(%r1), %arg0
128 LDREG DTLB_OFF_STRIDE(%r1), %arg1
129 LDREG DTLB_OFF_COUNT(%r1), %arg2
130 LDREG DTLB_LOOP(%r1), %arg3
131
118 add %r21, %r20, %r20 /* increment space */
119
120fitdone:
121
122 /* Flush Data Tlb */
123
124 LDREG DTLB_SID_BASE(%r1), %r20
125 LDREG DTLB_SID_STRIDE(%r1), %r21
126 LDREG DTLB_SID_COUNT(%r1), %r22
127 LDREG DTLB_OFF_BASE(%r1), %arg0
128 LDREG DTLB_OFF_STRIDE(%r1), %arg1
129 LDREG DTLB_OFF_COUNT(%r1), %arg2
130 LDREG DTLB_LOOP(%r1), %arg3
131
132 ADDIB= -1, %arg3, fdtoneloop /* Preadjust and test */
132 addib,COND(=) -1, %arg3, fdtoneloop /* Preadjust and test */
133 movb,<,n %arg3, %r31, fdtdone /* If loop < 0, skip */
134 copy %arg0, %r28 /* Init base addr */
135
136fdtmanyloop: /* Loop if LOOP >= 2 */
137 mtsp %r20, %sr1
138 add %r21, %r20, %r20 /* increment space */
139 copy %arg2, %r29 /* Init middle loop count */
140
141fdtmanymiddle: /* Loop if LOOP >= 2 */
133 movb,<,n %arg3, %r31, fdtdone /* If loop < 0, skip */
134 copy %arg0, %r28 /* Init base addr */
135
136fdtmanyloop: /* Loop if LOOP >= 2 */
137 mtsp %r20, %sr1
138 add %r21, %r20, %r20 /* increment space */
139 copy %arg2, %r29 /* Init middle loop count */
140
141fdtmanymiddle: /* Loop if LOOP >= 2 */
142 ADDIB> -1, %r31, fdtmanymiddle /* Adjusted inner loop decr */
142 addib,COND(>) -1, %r31, fdtmanymiddle /* Adjusted inner loop decr */
143 pdtlbe 0(%sr1, %r28)
144 pdtlbe,m %arg1(%sr1, %r28) /* Last pdtlbe and addr adjust */
143 pdtlbe 0(%sr1, %r28)
144 pdtlbe,m %arg1(%sr1, %r28) /* Last pdtlbe and addr adjust */
145 ADDIB> -1, %r29, fdtmanymiddle /* Middle loop decr */
145 addib,COND(>) -1, %r29, fdtmanymiddle /* Middle loop decr */
146 copy %arg3, %r31 /* Re-init inner loop count */
147
148 movb,tr %arg0, %r28, fdtmanyloop /* Re-init base addr */
146 copy %arg3, %r31 /* Re-init inner loop count */
147
148 movb,tr %arg0, %r28, fdtmanyloop /* Re-init base addr */
149 ADDIB<=,n -1, %r22,fdtdone /* Outer loop count decr */
149 addib,COND(<=),n -1, %r22,fdtdone /* Outer loop count decr */
150
151fdtoneloop: /* Loop if LOOP = 1 */
152 mtsp %r20, %sr1
153 copy %arg0, %r28 /* init base addr */
154 copy %arg2, %r29 /* init middle loop count */
155
156fdtonemiddle: /* Loop if LOOP = 1 */
150
151fdtoneloop: /* Loop if LOOP = 1 */
152 mtsp %r20, %sr1
153 copy %arg0, %r28 /* init base addr */
154 copy %arg2, %r29 /* init middle loop count */
155
156fdtonemiddle: /* Loop if LOOP = 1 */
157 ADDIB> -1, %r29, fdtonemiddle /* Middle loop count decr */
157 addib,COND(>) -1, %r29, fdtonemiddle /* Middle loop count decr */
158 pdtlbe,m %arg1(%sr1, %r28) /* pdtlbe for one loop */
159
158 pdtlbe,m %arg1(%sr1, %r28) /* pdtlbe for one loop */
159
160 ADDIB> -1, %r22, fdtoneloop /* Outer loop count decr */
160 addib,COND(>) -1, %r22, fdtoneloop /* Outer loop count decr */
161 add %r21, %r20, %r20 /* increment space */
162
163
164fdtdone:
165 /*
166 * Switch back to virtual mode
167 */
168 /* pcxt_ssm_bug */

--- 36 unchanged lines hidden (view full) ---

205
206 /* Flush Instruction Cache */
207
208 LDREG ICACHE_BASE(%r1), %arg0
209 LDREG ICACHE_STRIDE(%r1), %arg1
210 LDREG ICACHE_COUNT(%r1), %arg2
211 LDREG ICACHE_LOOP(%r1), %arg3
212 rsm PSW_SM_I, %r22 /* No mmgt ops during loop*/
161 add %r21, %r20, %r20 /* increment space */
162
163
164fdtdone:
165 /*
166 * Switch back to virtual mode
167 */
168 /* pcxt_ssm_bug */

--- 36 unchanged lines hidden (view full) ---

205
206 /* Flush Instruction Cache */
207
208 LDREG ICACHE_BASE(%r1), %arg0
209 LDREG ICACHE_STRIDE(%r1), %arg1
210 LDREG ICACHE_COUNT(%r1), %arg2
211 LDREG ICACHE_LOOP(%r1), %arg3
212 rsm PSW_SM_I, %r22 /* No mmgt ops during loop*/
213 ADDIB= -1, %arg3, fioneloop /* Preadjust and test */
213 addib,COND(=) -1, %arg3, fioneloop /* Preadjust and test */
214 movb,<,n %arg3, %r31, fisync /* If loop < 0, do sync */
215
216fimanyloop: /* Loop if LOOP >= 2 */
214 movb,<,n %arg3, %r31, fisync /* If loop < 0, do sync */
215
216fimanyloop: /* Loop if LOOP >= 2 */
217 ADDIB> -1, %r31, fimanyloop /* Adjusted inner loop decr */
217 addib,COND(>) -1, %r31, fimanyloop /* Adjusted inner loop decr */
218 fice %r0(%sr1, %arg0)
219 fice,m %arg1(%sr1, %arg0) /* Last fice and addr adjust */
220 movb,tr %arg3, %r31, fimanyloop /* Re-init inner loop count */
218 fice %r0(%sr1, %arg0)
219 fice,m %arg1(%sr1, %arg0) /* Last fice and addr adjust */
220 movb,tr %arg3, %r31, fimanyloop /* Re-init inner loop count */
221 ADDIB<=,n -1, %arg2, fisync /* Outer loop decr */
221 addib,COND(<=),n -1, %arg2, fisync /* Outer loop decr */
222
223fioneloop: /* Loop if LOOP = 1 */
222
223fioneloop: /* Loop if LOOP = 1 */
224 ADDIB> -1, %arg2, fioneloop /* Outer loop count decr */
224 addib,COND(>) -1, %arg2, fioneloop /* Outer loop count decr */
225 fice,m %arg1(%sr1, %arg0) /* Fice for one loop */
226
227fisync:
228 sync
229 mtsm %r22 /* restore I-bit */
230 bv %r0(%r2)
231 nop
232 .exit

--- 13 unchanged lines hidden (view full) ---

246
247 /* Flush Data Cache */
248
249 LDREG DCACHE_BASE(%r1), %arg0
250 LDREG DCACHE_STRIDE(%r1), %arg1
251 LDREG DCACHE_COUNT(%r1), %arg2
252 LDREG DCACHE_LOOP(%r1), %arg3
253 rsm PSW_SM_I, %r22
225 fice,m %arg1(%sr1, %arg0) /* Fice for one loop */
226
227fisync:
228 sync
229 mtsm %r22 /* restore I-bit */
230 bv %r0(%r2)
231 nop
232 .exit

--- 13 unchanged lines hidden (view full) ---

246
247 /* Flush Data Cache */
248
249 LDREG DCACHE_BASE(%r1), %arg0
250 LDREG DCACHE_STRIDE(%r1), %arg1
251 LDREG DCACHE_COUNT(%r1), %arg2
252 LDREG DCACHE_LOOP(%r1), %arg3
253 rsm PSW_SM_I, %r22
254 ADDIB= -1, %arg3, fdoneloop /* Preadjust and test */
254 addib,COND(=) -1, %arg3, fdoneloop /* Preadjust and test */
255 movb,<,n %arg3, %r31, fdsync /* If loop < 0, do sync */
256
257fdmanyloop: /* Loop if LOOP >= 2 */
255 movb,<,n %arg3, %r31, fdsync /* If loop < 0, do sync */
256
257fdmanyloop: /* Loop if LOOP >= 2 */
258 ADDIB> -1, %r31, fdmanyloop /* Adjusted inner loop decr */
258 addib,COND(>) -1, %r31, fdmanyloop /* Adjusted inner loop decr */
259 fdce %r0(%sr1, %arg0)
260 fdce,m %arg1(%sr1, %arg0) /* Last fdce and addr adjust */
261 movb,tr %arg3, %r31, fdmanyloop /* Re-init inner loop count */
259 fdce %r0(%sr1, %arg0)
260 fdce,m %arg1(%sr1, %arg0) /* Last fdce and addr adjust */
261 movb,tr %arg3, %r31, fdmanyloop /* Re-init inner loop count */
262 ADDIB<=,n -1, %arg2, fdsync /* Outer loop decr */
262 addib,COND(<=),n -1, %arg2, fdsync /* Outer loop decr */
263
264fdoneloop: /* Loop if LOOP = 1 */
263
264fdoneloop: /* Loop if LOOP = 1 */
265 ADDIB> -1, %arg2, fdoneloop /* Outer loop count decr */
265 addib,COND(>) -1, %arg2, fdoneloop /* Outer loop count decr */
266 fdce,m %arg1(%sr1, %arg0) /* Fdce for one loop */
267
268fdsync:
269 syncdma
270 sync
271 mtsm %r22 /* restore I-bit */
272 bv %r0(%r2)
273 nop

--- 64 unchanged lines hidden (view full) ---

338 std %r21, 112(%r26)
339 std %r22, 120(%r26)
340 ldo 128(%r26), %r26
341
342 /* conditional branches nullify on forward taken branch, and on
343 * non-taken backward branch. Note that .+4 is a backwards branch.
344 * The ldd should only get executed if the branch is taken.
345 */
266 fdce,m %arg1(%sr1, %arg0) /* Fdce for one loop */
267
268fdsync:
269 syncdma
270 sync
271 mtsm %r22 /* restore I-bit */
272 bv %r0(%r2)
273 nop

--- 64 unchanged lines hidden (view full) ---

338 std %r21, 112(%r26)
339 std %r22, 120(%r26)
340 ldo 128(%r26), %r26
341
342 /* conditional branches nullify on forward taken branch, and on
343 * non-taken backward branch. Note that .+4 is a backwards branch.
344 * The ldd should only get executed if the branch is taken.
345 */
346 ADDIB>,n -1, %r1, 1b /* bundle 10 */
346 addib,COND(>),n -1, %r1, 1b /* bundle 10 */
347 ldd 0(%r25), %r19 /* start next loads */
348
349#else
350
351 /*
352 * This loop is optimized for PCXL/PCXL2 ldw/ldw and stw/stw
353 * bundles (very restricted rules for bundling).
354 * Note that until (if) we start saving

--- 32 unchanged lines hidden (view full) ---

387 ldw 56(%r25), %r21
388 ldw 60(%r25), %r22
389 stw %r19, 48(%r26)
390 stw %r20, 52(%r26)
391 ldo 64(%r25), %r25
392 stw %r21, 56(%r26)
393 stw %r22, 60(%r26)
394 ldo 64(%r26), %r26
347 ldd 0(%r25), %r19 /* start next loads */
348
349#else
350
351 /*
352 * This loop is optimized for PCXL/PCXL2 ldw/ldw and stw/stw
353 * bundles (very restricted rules for bundling).
354 * Note that until (if) we start saving

--- 32 unchanged lines hidden (view full) ---

387 ldw 56(%r25), %r21
388 ldw 60(%r25), %r22
389 stw %r19, 48(%r26)
390 stw %r20, 52(%r26)
391 ldo 64(%r25), %r25
392 stw %r21, 56(%r26)
393 stw %r22, 60(%r26)
394 ldo 64(%r26), %r26
395 ADDIB>,n -1, %r1, 1b
395 addib,COND(>),n -1, %r1, 1b
396 ldw 0(%r25), %r19
397#endif
398 bv %r0(%r2)
399 nop
400 .exit
401
402 .procend
403ENDPROC(copy_user_page_asm)

--- 107 unchanged lines hidden (view full) ---

511 ldw 52(%r29), %r20
512 ldw 56(%r29), %r21
513 ldw 60(%r29), %r22
514 stw %r19, 48(%r28)
515 stw %r20, 52(%r28)
516 stw %r21, 56(%r28)
517 stw %r22, 60(%r28)
518 ldo 64(%r28), %r28
396 ldw 0(%r25), %r19
397#endif
398 bv %r0(%r2)
399 nop
400 .exit
401
402 .procend
403ENDPROC(copy_user_page_asm)

--- 107 unchanged lines hidden (view full) ---

511 ldw 52(%r29), %r20
512 ldw 56(%r29), %r21
513 ldw 60(%r29), %r22
514 stw %r19, 48(%r28)
515 stw %r20, 52(%r28)
516 stw %r21, 56(%r28)
517 stw %r22, 60(%r28)
518 ldo 64(%r28), %r28
519 ADDIB> -1, %r1,1b
519 addib,COND(>) -1, %r1,1b
520 ldo 64(%r29), %r29
521
522 bv %r0(%r2)
523 nop
524 .exit
525
526 .procend
527ENDPROC(copy_user_page_asm)

--- 42 unchanged lines hidden (view full) ---

570 std %r0, 64(%r28)
571 std %r0, 72(%r28)
572 std %r0, 80(%r28)
573 std %r0, 88(%r28)
574 std %r0, 96(%r28)
575 std %r0, 104(%r28)
576 std %r0, 112(%r28)
577 std %r0, 120(%r28)
520 ldo 64(%r29), %r29
521
522 bv %r0(%r2)
523 nop
524 .exit
525
526 .procend
527ENDPROC(copy_user_page_asm)

--- 42 unchanged lines hidden (view full) ---

570 std %r0, 64(%r28)
571 std %r0, 72(%r28)
572 std %r0, 80(%r28)
573 std %r0, 88(%r28)
574 std %r0, 96(%r28)
575 std %r0, 104(%r28)
576 std %r0, 112(%r28)
577 std %r0, 120(%r28)
578 ADDIB> -1, %r1, 1b
578 addib,COND(>) -1, %r1, 1b
579 ldo 128(%r28), %r28
580
581#else /* ! CONFIG_64BIT */
582 ldi (PAGE_SIZE / 64), %r1
583
5841:
585 stw %r0, 0(%r28)
586 stw %r0, 4(%r28)

--- 6 unchanged lines hidden (view full) ---

593 stw %r0, 32(%r28)
594 stw %r0, 36(%r28)
595 stw %r0, 40(%r28)
596 stw %r0, 44(%r28)
597 stw %r0, 48(%r28)
598 stw %r0, 52(%r28)
599 stw %r0, 56(%r28)
600 stw %r0, 60(%r28)
579 ldo 128(%r28), %r28
580
581#else /* ! CONFIG_64BIT */
582 ldi (PAGE_SIZE / 64), %r1
583
5841:
585 stw %r0, 0(%r28)
586 stw %r0, 4(%r28)

--- 6 unchanged lines hidden (view full) ---

593 stw %r0, 32(%r28)
594 stw %r0, 36(%r28)
595 stw %r0, 40(%r28)
596 stw %r0, 44(%r28)
597 stw %r0, 48(%r28)
598 stw %r0, 52(%r28)
599 stw %r0, 56(%r28)
600 stw %r0, 60(%r28)
601 ADDIB> -1, %r1, 1b
601 addib,COND(>) -1, %r1, 1b
602 ldo 64(%r28), %r28
603#endif /* CONFIG_64BIT */
604
605 bv %r0(%r2)
606 nop
607 .exit
608
609 .procend

--- 26 unchanged lines hidden (view full) ---

636 fdc,m %r23(%r26)
637 fdc,m %r23(%r26)
638 fdc,m %r23(%r26)
639 fdc,m %r23(%r26)
640 fdc,m %r23(%r26)
641 fdc,m %r23(%r26)
642 fdc,m %r23(%r26)
643 fdc,m %r23(%r26)
602 ldo 64(%r28), %r28
603#endif /* CONFIG_64BIT */
604
605 bv %r0(%r2)
606 nop
607 .exit
608
609 .procend

--- 26 unchanged lines hidden (view full) ---

636 fdc,m %r23(%r26)
637 fdc,m %r23(%r26)
638 fdc,m %r23(%r26)
639 fdc,m %r23(%r26)
640 fdc,m %r23(%r26)
641 fdc,m %r23(%r26)
642 fdc,m %r23(%r26)
643 fdc,m %r23(%r26)
644 CMPB<< %r26, %r25,1b
644 cmpb,COND(<<) %r26, %r25,1b
645 fdc,m %r23(%r26)
646
647 sync
648 bv %r0(%r2)
649 nop
650 .exit
651
652 .procend

--- 26 unchanged lines hidden (view full) ---

679 fdc,m %r23(%sr3, %r26)
680 fdc,m %r23(%sr3, %r26)
681 fdc,m %r23(%sr3, %r26)
682 fdc,m %r23(%sr3, %r26)
683 fdc,m %r23(%sr3, %r26)
684 fdc,m %r23(%sr3, %r26)
685 fdc,m %r23(%sr3, %r26)
686 fdc,m %r23(%sr3, %r26)
645 fdc,m %r23(%r26)
646
647 sync
648 bv %r0(%r2)
649 nop
650 .exit
651
652 .procend

--- 26 unchanged lines hidden (view full) ---

679 fdc,m %r23(%sr3, %r26)
680 fdc,m %r23(%sr3, %r26)
681 fdc,m %r23(%sr3, %r26)
682 fdc,m %r23(%sr3, %r26)
683 fdc,m %r23(%sr3, %r26)
684 fdc,m %r23(%sr3, %r26)
685 fdc,m %r23(%sr3, %r26)
686 fdc,m %r23(%sr3, %r26)
687 CMPB<< %r26, %r25,1b
687 cmpb,COND(<<) %r26, %r25,1b
688 fdc,m %r23(%sr3, %r26)
689
690 sync
691 bv %r0(%r2)
692 nop
693 .exit
694
695 .procend

--- 26 unchanged lines hidden (view full) ---

722 fic,m %r23(%sr3, %r26)
723 fic,m %r23(%sr3, %r26)
724 fic,m %r23(%sr3, %r26)
725 fic,m %r23(%sr3, %r26)
726 fic,m %r23(%sr3, %r26)
727 fic,m %r23(%sr3, %r26)
728 fic,m %r23(%sr3, %r26)
729 fic,m %r23(%sr3, %r26)
688 fdc,m %r23(%sr3, %r26)
689
690 sync
691 bv %r0(%r2)
692 nop
693 .exit
694
695 .procend

--- 26 unchanged lines hidden (view full) ---

722 fic,m %r23(%sr3, %r26)
723 fic,m %r23(%sr3, %r26)
724 fic,m %r23(%sr3, %r26)
725 fic,m %r23(%sr3, %r26)
726 fic,m %r23(%sr3, %r26)
727 fic,m %r23(%sr3, %r26)
728 fic,m %r23(%sr3, %r26)
729 fic,m %r23(%sr3, %r26)
730 CMPB<< %r26, %r25,1b
730 cmpb,COND(<<) %r26, %r25,1b
731 fic,m %r23(%sr3, %r26)
732
733 sync
734 bv %r0(%r2)
735 nop
736 .exit
737
738 .procend

--- 26 unchanged lines hidden (view full) ---

765 pdc,m %r23(%r26)
766 pdc,m %r23(%r26)
767 pdc,m %r23(%r26)
768 pdc,m %r23(%r26)
769 pdc,m %r23(%r26)
770 pdc,m %r23(%r26)
771 pdc,m %r23(%r26)
772 pdc,m %r23(%r26)
731 fic,m %r23(%sr3, %r26)
732
733 sync
734 bv %r0(%r2)
735 nop
736 .exit
737
738 .procend

--- 26 unchanged lines hidden (view full) ---

765 pdc,m %r23(%r26)
766 pdc,m %r23(%r26)
767 pdc,m %r23(%r26)
768 pdc,m %r23(%r26)
769 pdc,m %r23(%r26)
770 pdc,m %r23(%r26)
771 pdc,m %r23(%r26)
772 pdc,m %r23(%r26)
773 CMPB<< %r26, %r25, 1b
773 cmpb,COND(<<) %r26, %r25, 1b
774 pdc,m %r23(%r26)
775
776 sync
777 bv %r0(%r2)
778 nop
779 .exit
780
781 .procend

--- 47 unchanged lines hidden (view full) ---

829 fdc,m %r23(%r28)
830 fdc,m %r23(%r28)
831 fdc,m %r23(%r28)
832 fdc,m %r23(%r28)
833 fdc,m %r23(%r28)
834 fdc,m %r23(%r28)
835 fdc,m %r23(%r28)
836 fdc,m %r23(%r28)
774 pdc,m %r23(%r26)
775
776 sync
777 bv %r0(%r2)
778 nop
779 .exit
780
781 .procend

--- 47 unchanged lines hidden (view full) ---

829 fdc,m %r23(%r28)
830 fdc,m %r23(%r28)
831 fdc,m %r23(%r28)
832 fdc,m %r23(%r28)
833 fdc,m %r23(%r28)
834 fdc,m %r23(%r28)
835 fdc,m %r23(%r28)
836 fdc,m %r23(%r28)
837 CMPB<< %r28, %r29, 1b
837 cmpb,COND(<<) %r28, %r29, 1b
838 fdc,m %r23(%r28)
839
840 sync
841 bv %r0(%r2)
842 nop
843 .exit
844
845 .procend

--- 6 unchanged lines hidden (view full) ---

852 .callinfo NO_CALLS
853 .entry
854
855 ldil L%dcache_stride, %r1
856 ldw R%dcache_stride(%r1), %r23
857 ldo -1(%r23), %r21
858 ANDCM %r26, %r21, %r26
859
838 fdc,m %r23(%r28)
839
840 sync
841 bv %r0(%r2)
842 nop
843 .exit
844
845 .procend

--- 6 unchanged lines hidden (view full) ---

852 .callinfo NO_CALLS
853 .entry
854
855 ldil L%dcache_stride, %r1
856 ldw R%dcache_stride(%r1), %r23
857 ldo -1(%r23), %r21
858 ANDCM %r26, %r21, %r26
859
8601: CMPB<<,n %r26, %r25, 1b
8601: cmpb,COND(<<),n %r26, %r25, 1b
861 fdc,m %r23(%sr3, %r26)
862
863 sync
864 bv %r0(%r2)
865 nop
866 .exit
867
868 .procend

--- 4 unchanged lines hidden (view full) ---

873 .callinfo NO_CALLS
874 .entry
875
876 ldil L%dcache_stride, %r1
877 ldw R%dcache_stride(%r1), %r23
878 ldo -1(%r23), %r21
879 ANDCM %r26, %r21, %r26
880
861 fdc,m %r23(%sr3, %r26)
862
863 sync
864 bv %r0(%r2)
865 nop
866 .exit
867
868 .procend

--- 4 unchanged lines hidden (view full) ---

873 .callinfo NO_CALLS
874 .entry
875
876 ldil L%dcache_stride, %r1
877 ldw R%dcache_stride(%r1), %r23
878 ldo -1(%r23), %r21
879 ANDCM %r26, %r21, %r26
880
8811: CMPB<<,n %r26, %r25,1b
8811: cmpb,COND(<<),n %r26, %r25,1b
882 fdc,m %r23(%r26)
883
884 sync
885 syncdma
886 bv %r0(%r2)
887 nop
888 .exit
889

--- 5 unchanged lines hidden (view full) ---

895 .callinfo NO_CALLS
896 .entry
897
898 ldil L%icache_stride, %r1
899 ldw R%icache_stride(%r1), %r23
900 ldo -1(%r23), %r21
901 ANDCM %r26, %r21, %r26
902
882 fdc,m %r23(%r26)
883
884 sync
885 syncdma
886 bv %r0(%r2)
887 nop
888 .exit
889

--- 5 unchanged lines hidden (view full) ---

895 .callinfo NO_CALLS
896 .entry
897
898 ldil L%icache_stride, %r1
899 ldw R%icache_stride(%r1), %r23
900 ldo -1(%r23), %r21
901 ANDCM %r26, %r21, %r26
902
9031: CMPB<<,n %r26, %r25,1b
9031: cmpb,COND(<<),n %r26, %r25,1b
904 fic,m %r23(%sr3, %r26)
905
906 sync
907 bv %r0(%r2)
908 nop
909 .exit
910
911 .procend

--- 26 unchanged lines hidden (view full) ---

938 fic,m %r23(%sr4, %r26)
939 fic,m %r23(%sr4, %r26)
940 fic,m %r23(%sr4, %r26)
941 fic,m %r23(%sr4, %r26)
942 fic,m %r23(%sr4, %r26)
943 fic,m %r23(%sr4, %r26)
944 fic,m %r23(%sr4, %r26)
945 fic,m %r23(%sr4, %r26)
904 fic,m %r23(%sr3, %r26)
905
906 sync
907 bv %r0(%r2)
908 nop
909 .exit
910
911 .procend

--- 26 unchanged lines hidden (view full) ---

938 fic,m %r23(%sr4, %r26)
939 fic,m %r23(%sr4, %r26)
940 fic,m %r23(%sr4, %r26)
941 fic,m %r23(%sr4, %r26)
942 fic,m %r23(%sr4, %r26)
943 fic,m %r23(%sr4, %r26)
944 fic,m %r23(%sr4, %r26)
945 fic,m %r23(%sr4, %r26)
946 CMPB<< %r26, %r25, 1b
946 cmpb,COND(<<) %r26, %r25, 1b
947 fic,m %r23(%sr4, %r26)
948
949 sync
950 bv %r0(%r2)
951 nop
952 .exit
953
954 .procend

--- 4 unchanged lines hidden (view full) ---

959 .callinfo NO_CALLS
960 .entry
961
962 ldil L%icache_stride, %r1
963 ldw R%icache_stride(%r1), %r23
964 ldo -1(%r23), %r21
965 ANDCM %r26, %r21, %r26
966
947 fic,m %r23(%sr4, %r26)
948
949 sync
950 bv %r0(%r2)
951 nop
952 .exit
953
954 .procend

--- 4 unchanged lines hidden (view full) ---

959 .callinfo NO_CALLS
960 .entry
961
962 ldil L%icache_stride, %r1
963 ldw R%icache_stride(%r1), %r23
964 ldo -1(%r23), %r21
965 ANDCM %r26, %r21, %r26
966
9671: CMPB<<,n %r26, %r25, 1b
9671: cmpb,COND(<<),n %r26, %r25, 1b
968 fic,m %r23(%sr4, %r26)
969
970 sync
971 bv %r0(%r2)
972 nop
973 .exit
974 .procend
975ENDPROC(flush_kernel_icache_range_asm)

--- 97 unchanged lines hidden ---
968 fic,m %r23(%sr4, %r26)
969
970 sync
971 bv %r0(%r2)
972 nop
973 .exit
974 .procend
975ENDPROC(flush_kernel_icache_range_asm)

--- 97 unchanged lines hidden ---