Fiasco.OC: Map ROM-modules in advance (fix ).

There seems to be a bug in Fiasco.OC, that is hard to reproduce. The scenario
discussed in issue  triggers it relatively often. When sigma0 handles
pagefaults of core on demand at runtime, at some point its reply ipc-message
gets stucked in the kernel. This commit touches all ROM-modules when the
platform is initialized in advance (like it was done for RAM etc. already
before).
This commit is contained in:
Stefan Kalkowski 2012-03-20 16:52:58 +01:00 committed by Norman Feske
parent 890a3ee868
commit 1520d9c1d9

@ -417,6 +417,9 @@ void Platform::_setup_rom()
Rom_module *new_rom = new(core_mem_alloc()) Rom_module(rom);
_rom_fs.insert(new_rom);
/* map module */
touch_ro((const void*)new_rom->addr(), new_rom->size());
if (verbose)
printf(" mod[%d] [%p,%p) %s\n", i,
(void *)new_rom->addr(), ((char *)new_rom->addr()) + new_rom->size(),