From ee4619687b3e6a684172170ebfc9021ea6f62680 Mon Sep 17 00:00:00 2001 From: Stefan Kalkowski Date: Wed, 2 Dec 2015 11:15:46 +0100 Subject: [PATCH] hw: remove 1:1 I/O mappings from virtual memory Likewise on the x86 branch, we have to remove all virtual memory ranges from the virtual memory allocator that are used by one-by-one mappings of I/O regions used by the kernel. Fix #1797 --- repos/base-hw/src/core/spec/arm/platform_support.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/base-hw/src/core/spec/arm/platform_support.cc b/repos/base-hw/src/core/spec/arm/platform_support.cc index ff523345f..1da35be4b 100644 --- a/repos/base-hw/src/core/spec/arm/platform_support.cc +++ b/repos/base-hw/src/core/spec/arm/platform_support.cc @@ -28,6 +28,10 @@ void Platform::_init_io_mem_alloc() Native_region * r = mmio_regions(0); for (unsigned i = 0; r; r = mmio_regions(++i)) _io_mem_alloc.add_range(r->base, r->size); + + r = mmio_regions(0); + for (unsigned i = 0; r; r = mmio_regions(++i)) + _core_mem_alloc.virt_alloc()->remove_range(r->base, r->size); };