[parisc-linux] flush_tlb_all_local:
Joel Soete
soete.joel@tiscali.be
Sun, 12 Oct 2003 16:07:50 +0000
Hi all,
into parisc/kernel/pacache.S, i find this:
[...]
flush_tlb_all_local:
[...]
rsm PSW_SM_Q,%r0 /* Turn off Q bit to load iia queue */
ldil L%REAL_MODE_PSW, %r1
ldo R%REAL_MODE_PSW(%r1), %r1
mtctl %r1, %cr22
mtctl %r0, %cr17
mtctl %r0, %cr17
[...]
Why twice 'mtctl %r0, %cr17'?
and also:
[...]
fitmanymiddle: /* Loop if LOOP >= 2 */
ADDIB> -1,%r31,fitmanymiddle /* Adjusted inner loop
decr */
pitlbe 0(%sr1,%r28)
pitlbe,m %arg1(%sr1,%r28) /* Last pitlbe and addr
adjust */
Typicaly the function name is flush_..., so why do we 'purge' here?
Thanks in advance for help,
Joel