linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU
@ 2013-06-19 20:15 Simon Baatz
  2013-06-19 21:15 ` Sergei Shtylyov
  2013-06-20 14:30 ` Kevin Hilman
  0 siblings, 2 replies; 4+ messages in thread
From: Simon Baatz @ 2013-06-19 20:15 UTC (permalink / raw)
  To: linux-arm-kernel

Commit 1bc3974 moved the implementation of flush_kernel_dcache_page()
into in mm/flush.c but did not implement it on noMMU ARM.

Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
Cc: <stable@vger.kernel.org> # 3.2+: 1bc3974: ARM: 7755/1
Cc: <stable@vger.kernel.org> # 3.2+
---

ARM 7755/1 "handle user space mapped pages in flush_kernel_dcache_page"
unfortunately broke the no MMU case.  Compile tested with allnoconfig and
at91x40_defconfig on v3.10-rc6/v3.9.6 + ARM 7755/1.  On older stable kernels
(3.2.47 & 3.4.49) compiled with at91x40_defconfig.

- Simon

 arch/arm/mm/nommu.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index d51225f..eb5293a 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -57,6 +57,12 @@ void flush_dcache_page(struct page *page)
 }
 EXPORT_SYMBOL(flush_dcache_page);
 
+void flush_kernel_dcache_page(struct page *page)
+{
+	__cpuc_flush_dcache_area(page_address(page), PAGE_SIZE);
+}
+EXPORT_SYMBOL(flush_kernel_dcache_page);
+
 void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
 		       unsigned long uaddr, void *dst, const void *src,
 		       unsigned long len)
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU
  2013-06-19 20:15 [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU Simon Baatz
@ 2013-06-19 21:15 ` Sergei Shtylyov
  2013-06-20 14:30 ` Kevin Hilman
  1 sibling, 0 replies; 4+ messages in thread
From: Sergei Shtylyov @ 2013-06-19 21:15 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 06/20/2013 12:15 AM, Simon Baatz wrote:

> Commit 1bc3974

    Please also specify that commit's summary line in parens.

> moved the implementation of flush_kernel_dcache_page()
> into in mm/flush.c but did not implement it on noMMU ARM.

> Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
> Cc: <stable@vger.kernel.org> # 3.2+: 1bc3974: ARM: 7755/1
> Cc: <stable@vger.kernel.org> # 3.2+
> ---

> ARM 7755/1 "handle user space mapped pages in flush_kernel_dcache_page"

    Aha, this is that summary, almost intact.

> unfortunately broke the no MMU case.  Compile tested with allnoconfig and
> at91x40_defconfig on v3.10-rc6/v3.9.6 + ARM 7755/1.  On older stable kernels
> (3.2.47 & 3.4.49) compiled with at91x40_defconfig.

> - Simon

WBR, Sergei

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU
  2013-06-19 20:15 [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU Simon Baatz
  2013-06-19 21:15 ` Sergei Shtylyov
@ 2013-06-20 14:30 ` Kevin Hilman
  2013-06-23  8:09   ` Simon Baatz
  1 sibling, 1 reply; 4+ messages in thread
From: Kevin Hilman @ 2013-06-20 14:30 UTC (permalink / raw)
  To: linux-arm-kernel

Simon Baatz <gmbnomis@gmail.com> writes:

> Commit 1bc3974 moved the implementation of flush_kernel_dcache_page()
> into in mm/flush.c but did not implement it on noMMU ARM.
>
> Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
> Cc: <stable@vger.kernel.org> # 3.2+: 1bc3974: ARM: 7755/1
> Cc: <stable@vger.kernel.org> # 3.2+
> ---
>
> ARM 7755/1 "handle user space mapped pages in flush_kernel_dcache_page"
> unfortunately broke the no MMU case.  Compile tested with allnoconfig and
> at91x40_defconfig on v3.10-rc6/v3.9.6 + ARM 7755/1.  On older stable kernels
> (3.2.47 & 3.4.49) compiled with at91x40_defconfig.

Acked-by: Kevin Hilman <khilman@linaro.org>

This fix is needed in linux-next also, which started failing 
allnoconfig builds since next-20130619.

Kevin

>
> - Simon
>
>  arch/arm/mm/nommu.c |    6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
> index d51225f..eb5293a 100644
> --- a/arch/arm/mm/nommu.c
> +++ b/arch/arm/mm/nommu.c
> @@ -57,6 +57,12 @@ void flush_dcache_page(struct page *page)
>  }
>  EXPORT_SYMBOL(flush_dcache_page);
>  
> +void flush_kernel_dcache_page(struct page *page)
> +{
> +	__cpuc_flush_dcache_area(page_address(page), PAGE_SIZE);
> +}
> +EXPORT_SYMBOL(flush_kernel_dcache_page);
> +
>  void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
>  		       unsigned long uaddr, void *dst, const void *src,
>  		       unsigned long len)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU
  2013-06-20 14:30 ` Kevin Hilman
@ 2013-06-23  8:09   ` Simon Baatz
  0 siblings, 0 replies; 4+ messages in thread
From: Simon Baatz @ 2013-06-23  8:09 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 20, 2013 at 07:30:54AM -0700, Kevin Hilman wrote:
> Simon Baatz <gmbnomis@gmail.com> writes:
> 
> > Commit 1bc3974 moved the implementation of flush_kernel_dcache_page()
> > into in mm/flush.c but did not implement it on noMMU ARM.
> >
> > Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
> > Cc: <stable@vger.kernel.org> # 3.2+: 1bc3974: ARM: 7755/1
> > Cc: <stable@vger.kernel.org> # 3.2+
> > ---
> >
> > ARM 7755/1 "handle user space mapped pages in flush_kernel_dcache_page"
> > unfortunately broke the no MMU case.  Compile tested with allnoconfig and
> > at91x40_defconfig on v3.10-rc6/v3.9.6 + ARM 7755/1.  On older stable kernels
> > (3.2.47 & 3.4.49) compiled with at91x40_defconfig.
> 
> Acked-by: Kevin Hilman <khilman@linaro.org>

Thanks! Reworded according to Sergei's comment, added your Acked-by and
submitted to Russell's patch tracking system (7772/1).

- Simon

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-06-23  8:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-19 20:15 [PATCH] ARM: fix missing flush_kernel_dcache_page() for noMMU Simon Baatz
2013-06-19 21:15 ` Sergei Shtylyov
2013-06-20 14:30 ` Kevin Hilman
2013-06-23  8:09   ` Simon Baatz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).