From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Fri, 24 Oct 2014 13:11:02 -0600 Subject: [U-Boot] [PATCH v2 35/40] ARM: Implement non-cached memory support In-Reply-To: <1409067268-956-36-git-send-email-thierry.reding@gmail.com> References: <1409067268-956-1-git-send-email-thierry.reding@gmail.com> <1409067268-956-36-git-send-email-thierry.reding@gmail.com> Message-ID: <544AA446.1050908@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 08/26/2014 09:34 AM, Thierry Reding wrote: > From: Thierry Reding > > Implement an API that can be used by drivers to allocate memory from a > pool that is mapped uncached. This is useful if drivers would otherwise > need to do extensive cache maintenance (or explicitly maintaining the > cache isn't safe). > > The API is protected using the new CONFIG_SYS_NONCACHED_MEMORY setting. > Boards can set this to the size to be used for the non-cached area. The > area will typically be right below the malloc() area, but architectures > should take care of aligning the beginning and end of the area to honor > any mapping restrictions. Architectures must also ensure that mappings > established for this area do not overlap with the malloc() area (which > should remain cached for improved performance). > > While the API is currently only implemented for ARM v7, it should be > generic enough to allow other architectures to implement it as well. > diff --git a/arch/arm/lib/cache.c b/arch/arm/lib/cache.c > +void noncached_init(void) ... > + mmu_set_region_dcache_behaviour(noncached_start, size, DCACHE_OFF); > +} If I build with: #define CONFIG_SYS_DCACHE_OFF #define CONFIG_SYS_ICACHE_OFF ... then mmu_set_region_dcache_behaviour() doesn't exist (or at least isn't linked in) on Jetson TK1 at least.