genode/repos/base/src/core/platform_rom_modules.cc

38 lines
928 B
C++

/*
* \brief Default implementation of the ROM modules initialization
* \author Martin Stein
* \date 2017-08-17
*/
/*
* Copyright (C) 2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
/* core includes */
#include <boot_modules.h>
#include <platform.h>
using namespace Genode;
void Platform::_init_rom_modules()
{
/* add boot modules to ROM FS */
Boot_modules_header *header = &_boot_modules_headers_begin;
for (; header < &_boot_modules_headers_end; header++) {
if (!header->size) {
warning("ignore zero-sized boot module '",
Cstring((char const *)header->name), "'");
continue;
}
Rom_module &rom_module = *new (core_mem_alloc())
Rom_module(_rom_module_phys(header->base), header->size,
(char const *)header->name);
_rom_fs.insert(&rom_module);
}
}