summaryrefslogtreecommitdiffstats
path: root/cpukit/score/preinstall.am
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-22 16:21:12 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-12-11 08:17:16 +0100
commitd0c39838146c6a186ddda3d95dac71c3fa90f11e (patch)
tree1f96df0fd4b6e5ee9658060529b69bea1a46de4a /cpukit/score/preinstall.am
parentm32r/configure.ac: Looked for m32rsim to exist and now is gone (diff)
downloadrtems-d0c39838146c6a186ddda3d95dac71c3fa90f11e.tar.bz2
Use linker set for system initialization
Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization API available via #include <rtems/sysinit.h>. Update the documentation accordingly. This is no functional change, only the method to call the existing initialization routines changes. Instead of direct function calls a table of function pointers contained in the new RTEMS system initialization linker set is used. This table looks like this (the actual addresses depend on the target). nm *.exe | grep _Linker | sort 0201a2d0 D _Linker_set__Sysinit_begin 0201a2d0 D _Linker_set__Sysinit_bsp_work_area_initialize 0201a2d4 D _Linker_set__Sysinit_bsp_start 0201a2d8 D _Linker_set__Sysinit_rtems_initialize_data_structures 0201a2dc D _Linker_set__Sysinit_bsp_libc_init 0201a2e0 D _Linker_set__Sysinit_rtems_initialize_before_drivers 0201a2e4 D _Linker_set__Sysinit_bsp_predriver_hook 0201a2e8 D _Linker_set__Sysinit_rtems_initialize_device_drivers 0201a2ec D _Linker_set__Sysinit_bsp_postdriver_hook 0201a2f0 D _Linker_set__Sysinit_end Add test sptests/spsysinit01. Update #2408.
Diffstat (limited to 'cpukit/score/preinstall.am')
-rw-r--r--cpukit/score/preinstall.am4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am
index 4a45e8787a..1cc44daff9 100644
--- a/cpukit/score/preinstall.am
+++ b/cpukit/score/preinstall.am
@@ -47,6 +47,10 @@ $(PROJECT_INCLUDE)/rtems/linkersets.h: include/rtems/linkersets.h $(PROJECT_INCL
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/linkersets.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/linkersets.h
+$(PROJECT_INCLUDE)/rtems/sysinit.h: include/rtems/sysinit.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/sysinit.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/sysinit.h
+
$(PROJECT_INCLUDE)/rtems/system.h: include/rtems/system.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/system.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/system.h