[PATCH 1/4] cns3xxx: Add basic support for Cavium Networks CNS3xxx processors

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Mar 26 19:08:23 EDT 2010


On Fri, Mar 26, 2010 at 04:22:57PM +0300, Anton Vorontsov wrote:
> > > +++ b/arch/arm/mach-cns3xxx/include/mach/vmalloc.h
> [...]
> > > +#define VMALLOC_END		(PAGE_OFFSET + 0x18000000)
> > 
> > This should be defined as the maximum address of the vmalloc area,
> > which should be independent of PAGE_OFFSET.
> 
> Ah, vmalloc has no fixed start address. Will fix.
> 
> But then arm/mm/mmu.c:create_mapping() wrongly assumes that vmalloc
> starts at PAGE_OFFSET? At least it has 'md->virtual >= PAGE_OFFSET &&
> md->virtual < VMALLOC_END' check, and prints 'overlaps vmalloc space'
> error.

No it does not.  You can't create device mappings inbetween PAGE_OFFSET
and VMALLOC_END, and that is what the test you point out is doing.

The print can be extended to be "overlaps kernel direct mapped RAM and vmalloc space"
but I think that's getting excessively long.



More information about the linux-arm-kernel mailing list