Commit Graph
679 Commits
Author SHA1 Message Date
Sebastian Huber ca4602e914 Use linker set for libio initialization
Update #2408.
2016-02-03 10:00:57 +01:00
Sebastian Huber f64c6b4c49 Use atexit() handler to close std file descriptors 2016-02-03 10:00:57 +01:00
Sebastian Huber 3d36164fe5 Use linker set for root file system initialization
Update #2408.
2016-02-03 10:00:57 +01:00
Sebastian Huber 529b08a705 posix: Delete empty _POSIX_API_Initialize() 2016-02-03 10:00:56 +01:00
Sebastian Huber 2605a48938 Optional POSIX Keys initialization
Update #2408.
2016-02-03 10:00:56 +01:00
Sebastian Huber 190169fee2 Optional CPU Set Handler initialization
Update #2408.
2016-02-03 10:00:56 +01:00
Sebastian Huber 4eee878145 Optional POSIX Spinlock initialization
Update #2408.
2016-02-03 10:00:56 +01:00
Sebastian Huber 76a8328945 Optional POSIX RWLock initialization
Update #2408.
2016-02-03 10:00:56 +01:00
Sebastian Huber e4e7f149c0 Optional POSIX Barrier initialization
Update #2408.
2016-02-03 10:00:56 +01:00
Sebastian Huber 6c67855790 Optional POSIX Timer initialization
Update #2408.
2016-02-03 10:00:55 +01:00
Sebastian Huber 2189b3e963 Optional POSIX Semaphore initialization
Update #2408.
2016-02-03 10:00:55 +01:00
Sebastian Huber 3015ed641a Optional POSIX Message Queue initialization
Update #2408.
2016-02-03 10:00:55 +01:00
Sebastian Huber 9871f5dc60 Optional POSIX Mutex initialization
Update #2408.
2016-02-03 10:00:55 +01:00
Sebastian Huber f4fee4778e Optional POSIX Condition Variable initialization
Update #2408.
2016-02-03 10:00:55 +01:00
Sebastian Huber ef1a985fc7 Optional POSIX Threads initialization
Update #2408.
2016-02-03 10:00:54 +01:00
Sebastian Huber 04436ae7d8 Optional POSIX Signals initialization
Update #2408.
2016-02-03 10:00:54 +01:00
Sebastian Huber 58089ff3ad rtems: Delete empty _RTEMS_API_Initialize() 2016-02-03 10:00:54 +01:00
Sebastian Huber 97d94ff3e9 Optional Classic Barrier initialization
Update #2408.
2016-02-03 10:00:54 +01:00
Sebastian Huber b377e3f6b7 Optional Classic Rate Monotonic initialization
Update #2408.
2016-02-03 10:00:53 +01:00
Sebastian Huber af12278f9b Optional Classic Dual-Ported Memory initialization
Update #2408.
2016-02-03 10:00:53 +01:00
Sebastian Huber 365456cce3 Optional Classic Region initialization
Update #2408.
2016-02-03 10:00:53 +01:00
Sebastian Huber fd3cc36f61 Optional Classic Partition initialization
Update #2408.
2016-02-03 10:00:53 +01:00
Sebastian Huber cbaac1f7f4 Optional Classic Semaphore initialization
Update #2408.
2016-02-03 10:00:53 +01:00
Sebastian Huber ed8b00e667 Optional Classic Message Queue initialization
Update #2408.
2016-02-03 10:00:52 +01:00
Sebastian Huber ae85b0663e Optional Classic Event initialization
Update #2408.
2016-02-03 10:00:52 +01:00
Sebastian Huber a7f36829c0 Optional Classic Signal initialization
Update #2408.
2016-02-03 10:00:52 +01:00
Sebastian Huber 26335844f4 Optional Classic Timer initialization
Update #2408.
2016-02-03 10:00:52 +01:00
Sebastian Huber 565672a257 Optional Classic Tasks initialization
Update #2408.
2016-02-03 10:00:52 +01:00
Sebastian Huber 92bb345374 Optional Extensions initialization
Update #2408.
2016-02-03 10:00:51 +01:00
Sebastian Huber a853c8518d Optional Initial Extensions initialization
Update #2408.
2016-02-03 10:00:51 +01:00
Sebastian Huber 36b86d7eb5 score: Create idle threads via linker set
This allows a more fine grained rtems_initialize_data_structures().

Update #2408.
2016-02-03 10:00:51 +01:00
Sebastian Huber 17e6f869d7 Statically initialize _Objects_Information_table 2016-02-03 10:00:51 +01:00
Sebastian Huber 297aa075dc Revert "drvmgr: Move bsp_driver_level_hook() calls"
The --enable-drvmgr configure option controls the driver manager startup
and not if the driver manager is present or not.  Presence of the driver
manager is determined by the architecture (only available on sparc so
far).

This reverts commit 61bbf9194f.
2016-01-26 16:22:46 +01:00
Sebastian Huber 61bbf9194f drvmgr: Move bsp_driver_level_hook() calls 2016-01-26 11:42:04 +01:00
Sebastian Huber 76ac1ee3bb score: Fix simple timecounter support
Update #2502.
2016-01-19 08:36:14 +01:00
Sebastian Huber 599d71f7ff score: Statically initialize TOD handler 2016-01-12 11:35:41 +01:00
Sebastian Huber ccd54344d9 score: Introduce Thread_Entry_information
This avoids potential dead code in _Thread_Handler().  It gets rid of
the dangerous function pointer casts.

Update #2514.
2016-01-11 08:47:01 +01:00
Sebastian Huber fe100e1611 score: Add fatal errors for NULL entry init tasks
This simplifies the global construction.

Update #2514.
2016-01-08 09:00:53 +01:00
Aun-Ali Zaidi d5154d0f6a api: Remove deprecated Notepads
Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.

In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:

 - 16 32-bit integers were allocated.
 - A total of 64 bytes per task per thread.

This is especially critical in low memory and safety-critical applications.

They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.

Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.

updates #2493.
2015-12-24 16:52:34 -06:00
Sebastian Huber e01b184350 rtems: Delete empty function 2015-12-15 07:41:35 +01:00
Sebastian Huber d0c3983814 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.
2015-12-11 08:17:16 +01:00
Sebastian Huber 9736283857 score: Statically initialize system state
Update #2408.
2015-12-08 08:43:41 +01:00
Sebastian Huber bd91f446f2 score: Delete unused API extensions
Update #2408.
2015-12-08 08:38:10 +01:00
Sebastian Huber 60c5461547 score: Statically initialize API extensions
Update #2408.
2015-12-08 08:38:06 +01:00
Sebastian Huber 8054b1c718 Remove <rtems/debug.h>
Close #2477.
2015-12-07 13:11:07 +01:00
Sebastian Huber ac5f2442e3 Require __getreent()
This function is used by Newlib since 2013-07-09 (Git commit
9b51cd8c6b9cdd067d9648a7ab952884019c56a5).
2015-11-25 08:33:31 +01:00
Sebastian Huber aa473025f7 sapi: Add rtems_chain_get_first_unprotected()
Close #2459.
2015-11-05 11:30:09 +01:00
Joel Sherrill 69be1a222a CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checked
closes #2431.
2015-10-27 07:31:29 -05:00
Sebastian Huber c52568dcdb basdefs.h: Add and use RTEMS_DEPRECATED 2015-10-26 09:13:19 +01:00
Sebastian Huber 143696acbd basedefs.h: Add and use RTEMS_NO_RETURN 2015-10-26 09:13:19 +01:00