[PATCH 0/3] ARM: mvebu: disable I/O coherency on !SMP
Arnd Bergmann
arnd at arndb.de
Thu Jul 17 08:53:54 PDT 2014
On Thursday 17 July 2014 16:34:01 Russell King - ARM Linux wrote:
> On Thu, Jul 17, 2014 at 04:40:21PM +0200, Arnd Bergmann wrote:
> > On Thursday 17 July 2014 15:27:20 Will Deacon wrote:
> > > Just an FYI, but I've had to check internally to clarify the behaviour
> > > around TLB conflict aborts. We're changing live page tables here, but the
> > > *only* thing to differ is the output address, which I would hope is ok but
> > > need to check to be sure.
> >
> > The two cases are slightly different:
> >
> > - The existing keystone code changes the output address but not the flags
> > - The hypothetical mvebu code needs to change the flags but not the address.
>
> Don't base too much confidence in the keystone code:
What I meant was that verifying the correctness of one of the two above
with the architecture team doesn't mean that the other one is okay too.
> map_start = init_mm.start_code;
> map_end = init_mm.brk;
>
> phys = __pa(map_start) & PMD_MASK;
> do {
> ...
> phys += PMD_SIZE;
> } while (phys < map_end);
>
> Consider what happens when map_end is not PMD aligned - it misses the
> PMD covering the end of the kernel BSS, which will be quite a common
> case. Obviously something that needs fixing...
Ouch.
Arnd
More information about the linux-arm-kernel
mailing list