Commit Graph
1687 Commits
Author SHA1 Message Date
Sebastian Huber 190169fee2 Optional CPU Set Handler initialization
Update #2408.
2016-02-03 10:00:56 +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 265312a5be doc: Fix typo 2016-01-29 09:26:01 +01:00
Joel Sherrill 15068f4c9a Remove AVR port
closes #2443.
2016-01-19 19:40:42 -06:00
Sebastian Huber 76ac1ee3bb score: Fix simple timecounter support
Update #2502.
2016-01-19 08:36:14 +01:00
Sebastian Huber c9d07933f4 doc: Update ARM floating-point support 2016-01-18 08:41:20 +01:00
Sebastian Huber 4868027727 doc: Mention Cortex-M7 multilib 2016-01-15 13:19:07 +01:00
Sebastian Huber 173c44eba4 doc: Mention potential SMP scheduler improvement 2016-01-05 11:07:53 +01:00
Joel Sherrill f6a8663ec5 Remove H8300 port
updates #2452.
2016-01-04 11:07:26 -06:00
Joel Sherrill f5201df0dc Remove M32R architecture
updates #2446.
2016-01-04 11:07:00 -06:00
Joel Sherrill c924e8502f user/task.t: Add advice on transitioning use of notepads
closes #2493.
2015-12-24 17:03:51 -06: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 18847aca2a doc: SMP status of RTEMS 2015-12-16 08:23:44 +01:00
Sebastian Huber 4fa4ccb6bb doc: SMP introduction 2015-12-16 07:54:14 +01:00
Ethan Ordentlich f8d8a7345e doc: grammar fix as part of GCI 2016 2015-12-14 11:24:16 -05: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 2858939a2c bsps: Delete superfluous bsp_pretasking_hook()
Use the bsp_predriver_hook() instead.

Update #2408.
2015-12-10 08:32:37 +01:00
Sebastian Huber 37030e38c6 bsps: Call bsp_work_area_initialize() early
Call bsp_work_area_initialize() before bsp_start().  This allows
bsp_start() to use malloc() etc. which is beneficial for systems with a
plug-and-play hardware enumeration.

Update #2408.
2015-12-10 08:32:36 +01:00
Sebastian Huber 5df8168967 doc: Fix build for Ada user manual 2015-12-09 16:11:19 +01:00
Sebastian Huber b618d8cfc5 Add RTEMS linker sets
Update #2408.
2015-12-08 09:25:22 +01:00
Sebastian Huber 452eec433b doc: Remove reference to debug mask
Update #2477.
2015-12-07 14:43:17 +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 252e244e6d smp: Documentation 2015-09-04 13:47:30 +02:00
Sebastian Huber e1769f2764 smp: Documentation
Close #2274.
2015-09-04 13:44:47 +02:00
Sebastian Huber dafa5d8843 score: Implement priority boosting 2015-09-04 13:26:17 +02:00
Sebastian Huber 3995e6d9c2 score: Implement SMP-specific priority queue 2015-09-04 13:25:03 +02:00
Sebastian Huber cee82dfb26 smp: Documentation 2015-09-04 13:14:50 +02:00
Sebastian Huber 06496fba0a smp: Documentation 2015-09-04 13:09:17 +02:00
Sebastian Huber 509e8d7f4d rbtree: Delete rtems_rbtree_find_control()
This function is hard to support in alternative implementations.  It has
no internal use case.
2015-09-01 09:07:08 +02:00
Joel Sherrill add0e494ef user/c_user.texi: Correct info index entry
closes #2380.
2015-08-03 09:34:40 -07:00
Sebastian Huber 19078dc6e6 doc: Add SMP section to CPU Arch Supplement 2015-07-23 08:36:30 +02:00
Joel Sherrill 3f923fd22e Update date 2015-07-17 09:42:35 -05:00
Sebastian Huber 9154c3f99a doc: Add thread dispatch details for SMP 2015-07-17 11:57:38 +02:00
Sebastian Huber 3bb342ca92 doc: Clarify interrupts disable problems on SMP 2015-07-17 11:57:08 +02:00
Sebastian Huber b56ddbbd84 doc: Fix SMP task variables section 2015-07-17 09:21:46 +02:00
Sebastian Huber b9a7dc3b04 doc: Clarify SMP configuration defines 2015-07-08 10:10:27 +02:00
Sebastian Huber cb2b8f02dd doc: Fix interrupt level ARM documentation 2015-06-26 21:39:16 +02:00
Sebastian Huber d84408a9aa doc: Update ARM documentation 2015-06-26 21:28:06 +02:00
Sebastian Huber cdf30f0550 rtems: Add rtems_interrupt_local_disable|enable()
Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to
emphasize that interrupts are only disabled on the current processor.
Do not define the rtems_interrupt_disable|enable|flash() macros and
functions on SMP configurations since they don't ensure system wide
mutual exclusion.
2015-06-22 08:40:26 +02:00
Joel Sherrill e0938c2754 user/conf.t: Fix names for CONFIGURE_UNLIMITED_OBJECTS and CONFIGURE_UNLIMITED_ALLOCATION_SIZE
closes #2368.
2015-06-15 13:22:31 -05:00
Gedare Bloom fecc911b41 doc: fix typo. closes #2361. 2015-06-09 11:46:23 -04:00
Hesham ALMatary 10504d3ca4 doc: Add new documentation section for Epiphany architecture 2015-05-21 16:03:34 -04:00
Alexander Krutwig a9c4f15dbe doc: Clarify SPARC floating point ABI 2015-05-21 09:02:51 +02:00
Alexander Krutwig 31be41653a timecounter: Port to RTEMS
New test sptests/timecounter01.

Update #2271.
2015-05-20 08:40:29 +02:00
Sebastian Huber cc18d7bec7 score: Fine grained locking for message queues
Aggregate several critical sections into a bigger one.  Sending and
receiving messages is now protected by an ISR lock.  Thread dispatching
is only disabled in case a blocking operation is necessary.  The message
copy procedure is done inside the critical section (interrupts
disabled).  Thus this change may have a negative impact on the interrupt
latency in case very large messages are transferred.

Update #2273.
2015-05-19 12:00:46 +02:00
Sebastian Huber a0001d64fe Remove obsolete rtems_clock_major/minor
These global variables are obsolete since
65f71f8472.
2015-05-14 11:17:00 +02:00
Joel Sherrill 3985e75803 user/libpci.t: Make it build and clean up 2015-04-17 09:46:08 -05:00
Daniel Hellstrom 1b645c3f4c LIBPCI: corrected documentation 2015-04-17 01:10:28 +02:00