Subject: [PATCH 1/2] ARM: use cache type functions for arch_get_unmapped_area

From: [email-masked] (Rob Herring)
Date: Mon, 14 Nov 2011 14:36:58 -0600

On 11/14/2011 02:27 PM, Will Deacon wrote:
> Hi Rob, Nico,
> 
> On Mon, Nov 14, 2011 at 05:36:57PM +0000, Nicolas Pitre wrote:
>> On Mon, 7 Nov 2011, Rob Herring wrote:
>>
>>> From: Rob Herring <[email-masked]>
>>>
>>> There are already cache type decoding functions, so use those instead
>>> of custom decode code which only works for ARMv6.
>>>
>>> This change also correctly enables cache colour alignment on Cortex-A9
>>> whose I-cache is aliasing VIPT.
> 
> I appreciate that this is preserving the current behaviour, but why do we need
> to ensure colour alignment when only the I-side is aliasing?
> 
> In the case that there is a MAP_SHARED, PROT_WRITE|PROT_EXEC mapping then
> explicit cache maintenance will still be required by the task writing to the
> page and also the task executing the written data (not to mention the
> synchronisation requirements). Russell confirmed this recently:
> 
> http://lists.arm.linux.org.uk/lurker/message/20110923.193941.47decb13.en.html
> 
> no amount of colouring can avoid that, so why not only bother with it when
> we alias on the D-side? On a coherent system it's reasonable to expect that
> to work across tasks, so we definitely need the colouring correction there.

I wasn't too sure about that, so I'll drop the i-cache part.

Rob