Brian Cavagnolo wrote: > Question 1: is it possible to allocate regular memory pages and > request that they not be cached? Perhaps a special flag to > __get_free_page()? > perhabs you could try ioremap_nocache on allocated memory? > Question 2: Supposing I can't have uncached pages, I need a way to > invalidate the cache from a module [see * below]. After some digging, > I found the platform-specific functions in arch/arm/mm/proc-arm926.S > do exactly what I want. Specifically, I need the function > arm926_coherent_kern_range. As it turns out, this symbol is exported > in my kernel build: > ~ # cat /proc/kallsyms | grep coherent_kern_range > c0027c80 T arm926_coherent_kern_range > c0264864 r __ksymtab_arm926_coherent_kern_range > c02691e8 r __kstrtab_arm926_coherent_kern_range > > I successfully call it from my module and my problem is solved. > However, I expect that there should be a more platform-independent way > to call this function. Is there such a way? > Yes. dma_cache_inv and dma_cache_wback_inv should achieve the same. Regards, Sekhar Nori. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/