mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 13:47:56 +00:00
1b4f7ae0d3
Functions registered with 'module_init' (i.e., '__define_initcalls'), 'OF_DECLARE', and 'DECLARE_PCI_FIXUP_CLASS_FINAL' used to be static constructors and had be explicitly registered using 'exec_static_constructors' before executing any Linux code. With this commit we remove the constructor attributes from these functions and create a global function pointer in the form of __initptr_<name>_<id>_<counter>_<line number of macro> 'import-lx_emul_common.inc' will collect these '__initptr' symbols after the compile step and generate a 'lx_emul_register_initcalls' function that executes the functions pointed to. This step is now automatically performed in 'lx_emul_start_kernel'. This way a call to 'exec_static_constructors' can be omitted in case there are no other constructors in place. issue #5096 |
||
---|---|---|
.. | ||
lib | ||
recipes | ||
run | ||
src | ||
README |
================================ Genode support for x86-based PCs ================================ This repository complements the Genode OS framework (https://genode.org) with the board support needed to use Genode on devices based on x86 PCs. License ------- Genode-specific code is provided under Genode's regular open-source license, which is AGPLv3 + open-source linking exception. This code is also available under a commercial license offered by Genode Labs. For code ported from other projects - e.g., device drivers ported from the Linux kernel - the license of the originating upstream project applies. Please refer to the individual file headers for detailed information.