[PATCH] ARM: fix highmem with VIPT cache and DMA
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Mar 26 19:09:39 EDT 2010
On Fri, Mar 26, 2010 at 11:51:58AM -0400, Nicolas Pitre wrote:
> On Fri, 26 Mar 2010, Catalin Marinas wrote:
>
> > On Thu, 2010-03-25 at 21:02 +0000, Nicolas Pitre wrote:
> > > --- a/arch/arm/include/asm/highmem.h
> > > +++ b/arch/arm/include/asm/highmem.h
> > > @@ -11,7 +11,11 @@
> > >
> > > #define kmap_prot PAGE_KERNEL
> > >
> > > -#define flush_cache_kmaps() flush_cache_all()
> > > +#define flush_cache_kmaps() \
> > > + do { \
> > > + if (cache_is_vivt()) \
> > > + flush_cache_all(); \
> > > + } while (0)
> >
> > Do the aliasing VIPT caches need flushing as well?
>
> No idea. Highmem is not supported with aliasing VIPT at the moment
> anyway -- see commit 3f973e2216. I don't have hardware with aliasing
> VIPT cache either.
I don't think we'll ever support aliasing VIPT caches with highmem -
it'd quadruple the amount of kmap space that's required for things like
KM_USER*.
More information about the linux-arm-kernel
mailing list