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