diff mbox

[U-Boot,2/2] arm: cpu: armv7: omap-common: Clear XN bit in the ARMV7_DCACHE_POLICY

Message ID 1477636304-16839-2-git-send-email-j-keerthy@ti.com
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

J, KEERTHY Oct. 28, 2016, 6:31 a.m. UTC
Clear the XN bit in the ARMV7_DCACHE_POLICY so as to mark
the regions as execute okay.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/cpu/armv7/omap-common/omap-cache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexander Graf Oct. 28, 2016, 7:26 a.m. UTC | #1
On 28/10/2016 08:31, Keerthy wrote:
> Clear the XN bit in the ARMV7_DCACHE_POLICY so as to mark
> the regions as execute okay.
> 
> Signed-off-by: Keerthy <j-keerthy@ti.com>

How did you ever get the bit set in DCACHE_WRITEALLOC or WRITEBACK in
the first place? Both are RAM mapping flags which shouldn't have the XN
mask set.


Alex

> ---
>  arch/arm/cpu/armv7/omap-common/omap-cache.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/cpu/armv7/omap-common/omap-cache.c b/arch/arm/cpu/armv7/omap-common/omap-cache.c
> index b37163a..a71aa0d 100644
> --- a/arch/arm/cpu/armv7/omap-common/omap-cache.c
> +++ b/arch/arm/cpu/armv7/omap-common/omap-cache.c
> @@ -34,7 +34,7 @@ DECLARE_GLOBAL_DATA_PTR;
>   */
>  
>  #ifdef CONFIG_ARMV7_LPAE
> -#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC
> +#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC & ~TTB_SECT_XN_MASK
>  #else
>  #define ARMV7_DCACHE_POLICY	DCACHE_WRITEBACK & ~TTB_SECT_XN_MASK
>  #endif
>
J, KEERTHY Oct. 28, 2016, 7:40 a.m. UTC | #2
On Friday 28 October 2016 12:56 PM, Alexander Graf wrote:
>
>
> On 28/10/2016 08:31, Keerthy wrote:
>> Clear the XN bit in the ARMV7_DCACHE_POLICY so as to mark
>> the regions as execute okay.
>>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>
> How did you ever get the bit set in DCACHE_WRITEALLOC or WRITEBACK in
> the first place? Both are RAM mapping flags which shouldn't have the XN
> mask set.

Just searched through none of them have the bit sit so that is 
redundant. I added to be doubly sure and can be removed. This patch is 
not needed.

>
>
> Alex
>
>> ---
>>  arch/arm/cpu/armv7/omap-common/omap-cache.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/cpu/armv7/omap-common/omap-cache.c b/arch/arm/cpu/armv7/omap-common/omap-cache.c
>> index b37163a..a71aa0d 100644
>> --- a/arch/arm/cpu/armv7/omap-common/omap-cache.c
>> +++ b/arch/arm/cpu/armv7/omap-common/omap-cache.c
>> @@ -34,7 +34,7 @@ DECLARE_GLOBAL_DATA_PTR;
>>   */
>>
>>  #ifdef CONFIG_ARMV7_LPAE
>> -#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC
>> +#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC & ~TTB_SECT_XN_MASK
>>  #else
>>  #define ARMV7_DCACHE_POLICY	DCACHE_WRITEBACK & ~TTB_SECT_XN_MASK
>>  #endif
>>
Tom Rini Oct. 28, 2016, 1:12 p.m. UTC | #3
On Fri, Oct 28, 2016 at 12:01:44PM +0530, Keerthy wrote:

> Clear the XN bit in the ARMV7_DCACHE_POLICY so as to mark
> the regions as execute okay.
> 
> Signed-off-by: Keerthy <j-keerthy@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/omap-common/omap-cache.c b/arch/arm/cpu/armv7/omap-common/omap-cache.c
index b37163a..a71aa0d 100644
--- a/arch/arm/cpu/armv7/omap-common/omap-cache.c
+++ b/arch/arm/cpu/armv7/omap-common/omap-cache.c
@@ -34,7 +34,7 @@  DECLARE_GLOBAL_DATA_PTR;
  */
 
 #ifdef CONFIG_ARMV7_LPAE
-#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC
+#define ARMV7_DCACHE_POLICY	DCACHE_WRITEALLOC & ~TTB_SECT_XN_MASK
 #else
 #define ARMV7_DCACHE_POLICY	DCACHE_WRITEBACK & ~TTB_SECT_XN_MASK
 #endif