[PATCH 07/11] powerpc/8xx: macro for handling CPU15 errata

David Laight David.Laight at ACULAB.COM
Mon Apr 20 21:40:10 AEST 2015


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



More information about the Linuxppc-dev mailing list