This is an automated email from Gerrit. Matthias Welwarsky ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/3027
-- gerrit commit 5a0ee8b8baf5a713641ead86cd31467686459d0f Author: Matthias Welwarsky <[email protected]> Date: Fri Oct 16 10:10:02 2015 +0200 armv7a: rework automatic flush-on-write handler The following changes are implemented: - Clean & Invalidate the VA range instead of only cleaning using DCCIMVA instruction - Remove SMP handling since DCCIMVA instruction already maintains SMP coherence. - Remove separate Invalidate step - Invalidate I-Cache by MVA instead of invalidate-all. Change-Id: I19fd3cc226d8ecf2937276fc63258b6a26e369a7 Signed-off-by: Matthias Welwarsky <[email protected]> diff --git a/src/target/armv7a_cache.c b/src/target/armv7a_cache.c index ddd1fea..172cac0 100644 --- a/src/target/armv7a_cache.c +++ b/src/target/armv7a_cache.c @@ -343,35 +343,10 @@ int armv7a_cache_auto_flush_on_write(struct target *target, uint32_t virt, if (!armv7a->armv7a_mmu.armv7a_cache.auto_cache_enabled) return ERROR_OK; - armv7a_l1_d_cache_clean_virt(target, virt, size); + armv7a_l1_d_cache_flush_virt(target, virt, size); armv7a_l2x_cache_flush_virt(target, virt, size); - if (target->smp) { - struct target_list *head; - struct target *curr; - head = target->head; - while (head != (struct target_list *)NULL) { - curr = head->target; - if (curr->state == TARGET_HALTED) { - retval = armv7a_l1_i_cache_inval_all(curr); - if (retval != ERROR_OK) - return retval; - retval = armv7a_l1_d_cache_inval_virt(target, - virt, size); - if (retval != ERROR_OK) - return retval; - } - head = head->next; - } - } else { - retval = armv7a_l1_i_cache_inval_all(target); - if (retval != ERROR_OK) - return retval; - retval = armv7a_l1_d_cache_inval_virt(target, virt, size); - if (retval != ERROR_OK) - return retval; - } - + armv7a_l1_i_cache_inval_virt(target, virt, size); return retval; } -- ------------------------------------------------------------------------------ _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
