some question about TCR setting

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Nov 17 05:03:06 PST 2014


On Mon, Nov 17, 2014 at 12:09:52PM +0000, Mark Rutland wrote:
> On Sun, Nov 16, 2014 at 04:52:11PM +0000, Russell King - ARM Linux wrote:
> > The access type is included on the bus along with the address and other
> > attributes.  This includes whether it's sharable, and the cache attributes.
> > A MMU page walker may be implemented such that it is capable of accessing
> > L2 cache.
> 
> Or L1, depending on the implementation of the memory system. The logic
> which walks the page tables is essentially another coherent observer, so
> it doesn't necessarily matter precisely where it is attached.
...
> To further this point, provided the TCR is programmed with the same
> attributes the kernel uses to access the page tables, no cache
> maintenance is necessary, as the CPU(s) and page table walker(s) are
> coherent.

That depends on the implementation - whether the MMU page table walker
can read from the L1 cache.  If you were correct in all cases, we could
get rid of:

        ALT_UP (mcr     p15, 0, r0, c7, c10, 1)         @ flush_pte

in proc-v7-2level.S - but obviously we think that ARMv7 is unable to read
from L1 when walking the page tables.

> This is what we do for ARMv7 and arm64.

>From the code, it looks like we don't for ARMv7.

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.



More information about the linux-arm-kernel mailing list