Commit Graph

9251 Commits

Author SHA1 Message Date
Sebastian Huber
370cdefdbc arm: Use DWT CYCCNT for timecounter if available 2016-01-21 13:25:07 +01:00
Sebastian Huber
d9bd59daac bsp/irq-server: Support shared interrupts 2016-01-20 10:15:56 +01:00
Joel Sherrill
15068f4c9a Remove AVR port
closes #2443.
2016-01-19 19:40:42 -06:00
Joel Sherrill
22bb1b61cb posix/src/exec*: Remove all variants already in Newlib
The RTEMS build of Newlib includes implementations of all exec*()
variants. They rely on the _execve() support method. RTEMS already
had this and it returned ENOSYS. There is no functional change.

closes #2537.
2016-01-19 12:11:47 -06:00
Sebastian Huber
76ac1ee3bb score: Fix simple timecounter support
Update #2502.
2016-01-19 08:36:14 +01:00
Joel Sherrill
2b9374e147 taskcreate.c: Add method name to comment to be clearer 2016-01-18 17:34:25 -06:00
Joel Sherrill
33ece0da81 sem.h: Delete junk in comment 2016-01-18 17:31:09 -06:00
Joel Sherrill
815b653684 ratemon.h: Fix comments 2016-01-18 17:30:38 -06:00
Joel Sherrill
e39cdb875c posix: Remove clock_getenable_attr() and clock_setenable_attr()
These were not implemented and it does not appear that they were
ever officially part of an approved POSIX standard. They were
likely part of the Draft 8 of POSIX 1003.1b that RTEMS pthreads
were initially based upon.

closes #2531.
2016-01-18 14:28:00 -06:00
Nick Withers
4202a31f91 Chase Newlib sys/types.h / sys/select.h changes 2016-01-18 14:59:52 +01:00
Sebastian Huber
819a6b35cc arm: Honor cache for Cortex-M7 support 2016-01-15 14:23:38 +01:00
Sebastian Huber
32521269dc arm: Accept Cortex-M7 multilib 2016-01-15 14:19:42 +01:00
Sebastian Huber
47a471a7dd libblock: Fix ramdisk::free_at_delete_request init
Avoid uninitialized ramdisk::free_at_delete_request.  The error was
visible in sporadic libtests/block01 failures.
2016-01-15 14:19:16 +01:00
Sebastian Huber
e4752d1d99 powerpc: Fix alignment for AltiVec multilibs 2016-01-12 12:02:57 +01:00
Sebastian Huber
599d71f7ff score: Statically initialize TOD handler 2016-01-12 11:35:41 +01:00
Sebastian Huber
1506658c07 score: Simplify _Thread_Start() 2016-01-11 08:47:24 +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
4e3bb2dd6d rtems: Fix warning 2016-01-08 09:05:34 +01:00
Sebastian Huber
44e987192e score: Avoid dead code in global construction
Update #2514.
2016-01-08 09:03:33 +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
Sebastian Huber
f9f7321e0a Filesystem: Remove superfluous permission checks
The permission is check by the upper layer.
2016-01-05 14:29:09 +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
Sebastian Huber
a061f9d3c5 score: Fix watchdog insert
Under certain conditions a new watchdog was inserted with a wrong
and very large delta interval due to a wrong iterator update.

Bug was introduced by 1ccbd05291.

Close #2507.
2016-01-04 10:23:20 +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
a48b7c442d score: Fix watchdog removal
Under certain conditions a new watchdog was inserted with a wrong and
very large delta interval due to an incomplete iterator update.

Bug was introduced by 1ccbd05291.

Close #2501.
2015-12-21 08:32:20 +01:00
Sebastian Huber
07b76fd76a score: Avoid dependency on bcopy() 2015-12-15 11:32:44 +01:00
Nick Withers
7a0c4854c6 libmisc: Include missing header file, fix warnings 2015-12-15 07:47:27 +01:00
Sebastian Huber
e01b184350 rtems: Delete empty function 2015-12-15 07:41:35 +01:00
Sebastian Huber
173d1f8473 posix: Store unblocked signals
Store the unblock signals to exploit the zero-initialization of the
thread control block.
2015-12-15 07:41:34 +01:00
Sebastian Huber
54c3fbd63e score: Initialize thread control to zero
This reduces the code size of the thread initialization.
2015-12-15 07:41:34 +01:00
Sebastian Huber
00dbecb820 score: Help GCC to inline a function 2015-12-14 07:56:29 +01:00
Sebastian Huber
df55d07f2e score: Untangle thread actions
Remove the thread action handler parameter from
_Thread_Action_initialize() and instead set it later in
_Thread_Add_post_switch_action().  This avoids a dependency on the
thread action handler via the thread initialization.
2015-12-11 08:20:48 +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
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
b318cb138f sparc: Simplify _CPU_Get_current_per_CPU_control()
Drop the superfluous parenthesis since this confuses the C++ compiler of
some GCC versions.  See also

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67064
2015-12-10 08:32:36 +01:00
Sebastian Huber
b618d8cfc5 Add RTEMS linker sets
Update #2408.
2015-12-08 09:25:22 +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
a06201439a Delete _Region_Debug_Walk()
The expensive heap walks are superfluous due to the heap protection
enabled via RTEMS_DEBUG.

Update #2477.
2015-12-07 13:10:50 +01:00
Sebastian Huber
50552818d7 Delete unused declarations and define 2015-11-27 07:25:01 +01:00
Sebastian Huber
443c61ec94 Delete empty libc_init() 2015-11-27 07:24:51 +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
8ce0b0cb19 Fix _Assert() statement 2015-11-25 07:55:00 +01:00
Sebastian Huber
f6a1ef9fdb posix: Require struct _pthread_cleanup_context
This structure is available in Newlib since 2013-11-29 (Git commit
a534dfd26e765047621acd0eda656ded886e7108).
2015-11-24 16:00:14 +01:00
Pavel Pisa
9394aa5ed7 untar: do not exit with error when created directory already exists.
The problem exists for both RTEMS untar implementations and their
variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load().

If filesystem object already exists at extracted directory path
then if it is directory, creation is ignored. Attempt
to delete/unlink object and make directory is tried for other cases.

This simple approach problem reported in ticket fixes #2413.
Behavior follows GNU tar and BSD tar practice for directories
but much more work is required to achieve full semantics
of the full featured tar implementation still.
2015-11-23 10:40:15 -05:00
Sebastian Huber
8708900e53 Provide dummy <sys/priority.h>
Required by new network stack.
2015-11-18 09:22:48 +01:00
Sebastian Huber
8f3ec7c0d9 Import latest <sys/ttycom.h> from FreeBSD
Required by new network stack.
2015-11-17 15:22:18 +01:00