genode/repos/pc
Sebastian Sumpf 1b4f7ae0d3 lx_emul: generate initcalls during build
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
2024-02-26 08:31:05 +01:00
..
lib lx_emul: generate initcalls during build 2024-02-26 08:31:05 +01:00
recipes depot: update recipe hashes 2023-12-13 12:33:05 +01:00
run pc_wifi.run: improve debugability 2023-12-13 12:32:19 +01:00
src lx_emul: add kvfree_call_rcu 2024-02-26 08:31:03 +01:00
README Introduce pc repository for PC board support 2022-02-15 10:23:16 +01:00

               ================================
               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.