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 --- |