From: Christophe Leroy
> Sent: 20 April 2015 06:27
> Having a macro will help keep clear code.
...
>   * We have to use the MD_xxx registers for the tablewalk because the
>   * equivalent MI_xxx registers only perform the attribute functions.
>   */
> +
> +#ifdef CONFIG_8xx_CPU15
> +#define DO_8xx_CPU15(tmp, addr)      \
> +     addi    tmp, addr, PAGE_SIZE;   \
> +     tlbie   tmp;                    \
> +     addi    tmp, addr, PAGE_SIZE;   \
> +     tlbie   tmp
> +#else
> +#define DO_8xx_CPU15(tmp, addr)
> +#endif

I'm sure I've spotted the same obvious error in the above before.

I'd also suggest calling it 'invalidate_adjacent_pages' - since that it
what it does.

I also guess that the execution time of 'tlbie' is non-trivial.
So you might as well get rid of the temporary register and put an
'addi' to reset 'addr' at the end.

        David

Reply via email to