From 05001c3f3c0ef9c59a45738cb591c2383bfd7b41 Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Thu, 8 Aug 2013 14:48:45 +0200 Subject: [PATCH] FOC: Fix in kernel 'Op_cache_dma_coherent' 'Mem_unit::flush_dcache' takes void pointers as arguments, no need to take the given void pointers ('start' and 'end') and transform them to 'Virt_addr(Address(x)' types. This breaks cache flushing in r56. --- kernel/fiasco/src/kern/arm/mem_op.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/fiasco/src/kern/arm/mem_op.cpp b/kernel/fiasco/src/kern/arm/mem_op.cpp index 8e01bf00..a11bb053 100644 --- a/kernel/fiasco/src/kern/arm/mem_op.cpp +++ b/kernel/fiasco/src/kern/arm/mem_op.cpp @@ -113,7 +113,7 @@ Mem_op::arm_mem_cache_maint(int op, void const *start, void const *end) case Op_cache_dma_coherent: { - Mem_unit::flush_dcache(Virt_addr(Address(start)), Virt_addr(Address(end))); + Mem_unit::flush_dcache(start, end); outer_cache_op(Op_cache_l2_flush, Address(start), Address(end)); } break;