[PATCH 0/3] ARM: mvebu: disable I/O coherency on !SMP
Santosh Shilimkar
santosh.shilimkar at ti.com
Thu Jul 17 09:04:26 PDT 2014
On Thursday 17 July 2014 11:53 AM, Arnd Bergmann wrote:
> 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.
>
Thanks for spotting it RMK. Will have a loot at it.
regards,
Santosh
More information about the linux-arm-kernel
mailing list