[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CB22366@AcuExch.aculab.com>
Date: Mon, 20 Apr 2015 11:40:10 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Christophe Leroy' <christophe.leroy@....fr>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
"Michael Ellerman" <mpe@...erman.id.au>,
"scottwood@...escale.com" <scottwood@...escale.com>
CC: "linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 07/11] powerpc/8xx: macro for handling CPU15 errata
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
Powered by blists - more mailing lists