Partial fix to an cache cleaning problem

This commit is contained in:
Gregory Nutt 2014-09-15 16:04:42 -06:00
parent ff97fa2114
commit 731de13347

View File

@ -664,7 +664,11 @@ int up_addrenv_coherent(FAR const group_addrenv_t *addrenv)
cp15_invalidate_icache();
/* Clean D-Cache in each region. */
/* Clean D-Cache in each region.
* REVISIT: Cause crashes when trying to clean unmapped memory. In order
* for this to work, we need to know the exact size of each region (as we
* do now for the heap region).
*/
#warning REVISIT... causes crashes
#if 0
@ -675,12 +679,11 @@ int up_addrenv_coherent(FAR const group_addrenv_t *addrenv)
arch_clean_dcache(CONFIG_ARCH_DATA_VBASE,
CONFIG_ARCH_DATA_VBASE +
CONFIG_ARCH_DATA_NPAGES * MM_PGSIZE - 1);
#if 0 /* Not yet implemented */
arch_clean_dcache(CONFIG_ARCH_HEAP_VBASE,
CONFIG_ARCH_HEAP_VBASE +
CONFIG_ARCH_HEAP_NPAGES * MM_PGSIZE - 1);
#endif
#ifdef CONFIG_BUILD_KERNEL
arch_clean_dcache(CONFIG_ARCH_HEAP_VBASE,
CONFIG_ARCH_HEAP_VBASE + addrenv->heapsize);
#endif
return OK;