On Fri, Aug 29, 2008 at 08:56:50AM -0500, Kumar Gala wrote:
> +_GLOBAL(_tlbil_all)
> +#define MMUCSR0_TLBFI        (MMUCSR0_TLB0FI | MMUCSR0_TLB1FI | \
> +                      MMUCSR0_TLB2FI | MMUCSR0_TLB3FI)
> +     li      r3,(MMUCSR0_TLBFI)@l
> +     mtspr   SPRN_MMUCSR0, r3
> +1:
> +     mfspr   r3,SPRN_MMUCSR0
> +     andi.   r3,r3,[EMAIL PROTECTED]
> +     bne     1b
> +     blr
> +
> +/*
> + * Flush MMU TLB for a particular process id, but only on the local processor
> + * (no broadcast)
> + */
> +_GLOBAL(_tlbil_pid)
> +     li      r3,(MMUCSR0_TLBFI)@l
> +     mtspr   SPRN_MMUCSR0, r3
> +1:
> +     mfspr   r3,SPRN_MMUCSR0
> +     andi.   r1,r2,[EMAIL PROTECTED]
> +     bne     1b
> +     blr

I'm guessing _tlbil_pid is never called, as it will clobber the stack
pointer.

Should probably just point both function names at the same implementation,
since PID-specific invalidation isn't supported on non-tlbilx cores.

-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to