some question about TCR setting
Mark Rutland
mark.rutland at arm.com
Mon Nov 17 06:00:06 PST 2014
On Mon, Nov 17, 2014 at 01:03:06PM +0000, Russell King - ARM Linux wrote:
> 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.
My bad, I was assuming ARMv7 with the multiprocessor extensions rather
than baseline ARMv7.
Thanks,
Mark,
More information about the linux-arm-kernel
mailing list