svn commit: r256943 - head/sys/arm/xscale/ixp425

Ian Lepore ian at FreeBSD.org
Wed Oct 23 00:34:52 UTC 2013


On Tue, 2013-10-22 at 21:51 +0000, Olivier Houchard wrote:
> Author: cognet
> Date: Tue Oct 22 21:51:07 2013
> New Revision: 256943
> URL: http://svnweb.freebsd.org/changeset/base/256943
> 
> Log:
>   - Use bus_dmamap_unload(), it is not optional.
>   - The new allocator won't return coherent memory for any size > PAGE_SIZE,
>   so don't assume we have coherent memory, and explicitely use
>   bus_dmamap_sync().
> 
> Modified:
>   head/sys/arm/xscale/ixp425/if_npe.c
> [snip]

Whoa, not true!  If you ask for BUS_DMA_COHERENT memory on arm you are
g'teed to get uncached memory.  If the size you ask for is under one
page it comes from the uma allocator, if you want a page or more it
comes from either kmem_alloc_attr() or kmem_alloc_contig() using the
VM_MEMATTR_UNCACHEABLE flag, which is handled in arm/pmap[-v6].c by
turning off the cache and buffered bits on the pages.

-- Ian




More information about the svn-src-all mailing list