From 6e034efca4303438c898ff480a7fb80bde62305c Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Tue, 12 Feb 2013 17:00:03 +0100 Subject: [PATCH] foc: Use L2-cache synchronization calls Replace L1 cache clean operations with L2 versions. --- base-foc/src/core/include/map_local.h | 3 +-- base-foc/src/core/ram_session_support.cc | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/base-foc/src/core/include/map_local.h b/base-foc/src/core/include/map_local.h index 68dd2de4c..5d9e42694 100644 --- a/base-foc/src/core/include/map_local.h +++ b/base-foc/src/core/include/map_local.h @@ -137,8 +137,7 @@ namespace Genode { l4_task_unmap(L4_BASE_TASK_CAP, l4_fpage(addr, L4_LOG2_PAGESIZE, L4_FPAGE_RW), L4_FP_OTHER_SPACES); - - l4_cache_clean_data(local_base, local_base + size); + l4_cache_dma_coherent(local_base, local_base + size); } } diff --git a/base-foc/src/core/ram_session_support.cc b/base-foc/src/core/ram_session_support.cc index 58921eb4d..d8ace86ad 100644 --- a/base-foc/src/core/ram_session_support.cc +++ b/base-foc/src/core/ram_session_support.cc @@ -30,7 +30,6 @@ void Ram_session_component::_clear_ds(Dataspace_component *ds) memset((void *)ds->phys_addr(), 0, ds->size()); if (ds->write_combined()) - Fiasco::l4_cache_clean_data((Genode::addr_t)ds->phys_addr(), - (Genode::addr_t)ds->phys_addr() + ds->size()); + Fiasco::l4_cache_dma_coherent(ds->phys_addr(), ds->phys_addr() + ds->size()); }