Commit Graph

33633 Commits

Author SHA1 Message Date
Aschref Ben Thabet
699f465c50 psxhdrs/strncat: Fix string truncation warning 2020-07-30 14:57:57 +02:00
Jan Sommer
21c7e3a41f i386: Fix possible race condition on first context restore
Make sure that the esp is restored before the eflags register.

When the init task is initially restored, system interrupts are activated when the
eflags register is loaded.
If the esp register still points to an address in the interrupt stack
area (from early system initlization) the ISR might overwrite its own
stack.

Closes #4031
2020-07-29 11:39:02 +02:00
Sebastian Huber
4444094d02 spmisc01: Include missing header file
Update #4032.
2020-07-24 07:31:43 +02:00
Sebastian Huber
7746b0def9 malloc: Make deferred free support optional
Only include the deferred free support if free() is actually used by the
application.

The free() implementation in RTEMS supports that allocated memory is
freed in interrupt context.  Since the heap is protected by a mutex, the
frees issued in interrupt context cannot immediately be freed to the
heap, instead they are placed on a deferred free list.  This list is
emptied by the core allocation function
rtems_heap_allocate_aligned_with_boundary().  This adds a dependency to
free() in rtems_heap_allocate_aligned_with_boundary(). In order to
better support applications which only allocate memory and never free
it, this dependency should be avoided.  Provide a weak default
implementation of _Malloc_Process_deferred_frees() for
rtems_heap_allocate_aligned_with_boundary().  In the free() module
provide the strong implementation.

Close #4032.
2020-07-24 07:14:02 +02:00
Sebastian Huber
6f94a830bd score: Add RTEMS_WEAK
Update #4032.
2020-07-24 07:12:58 +02:00
Sebastian Huber
b2ff5fe310 spintrcritical_support: Remove
This test support was replaced by T_interrupt_test() is no longer used.
2020-07-23 09:27:48 +02:00
Sebastian Huber
6b795cd75d spintrcritical24: Use T_interrupt_test() 2020-07-23 09:27:48 +02:00
Sebastian Huber
23b9debe12 spintrcritical23: Use T_interrupt_test() 2020-07-23 09:27:48 +02:00
Sebastian Huber
1414e710db spintrcritical22: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
59ee302074 spintrcritical21: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
38636e23c6 spintrcritical20: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
aebdd1dacb spintrcritical18: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
031e8246d4 spintrcritical16: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
1c2e05d4e3 spintrcritical15: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
5020a281b5 spintrcritical13/14: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
8cbba4496a spintrcritical11/12: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
be2f9d74cb spintrcritical10: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
a231276908 spintrcritical09: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
5f66ac86dd spintrcritical08: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
2831395812 spintrcritical06/spintrcritical07: Remove tests
These two tests check conditions which no longer exist in the thread
queue implementation.  The are obsolete since the change to use
red-black trees for the priority queues.
2020-07-23 09:27:47 +02:00
Sebastian Huber
21f7333979 spintrcritical01/2/3/4/5: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
857a65dc7e psxintrcritical01: Use T_interrupt_test() 2020-07-23 09:27:47 +02:00
Sebastian Huber
cc3fd8fcf1 libtest: Add T_interrupt_test()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
c9d2405848 libtest: Add rtems_test_run()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
dddc9a5818 libtest: Add quiet assert NULL pointer checks
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
467ef5b431 libtest: Add T_unreachable()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
d702c9f47d libtest: Make check message optional
This macro magic is in line with C11 and C++11, but limits the maximum
count of arguments.

Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
35d9af6901 libtest: Add T_CHECK_FMT
Rename internal function T_check_true() to T_check() and use the new
flag T_CHECK_FMT to indicate if a format string is present.  This is a
preparation step to make the format string optional.

Make the check context the first parameter.

The API remains the same.

Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
7781404026 libtest: Add T_stop()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
34e4df5590 libtest: Split POSIX Keys support
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
63e4278429 libtest: Add T_get_scope()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
cb3c6bdc0f libtest: Add push/pop fixture support
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
6b27e3251e libtest: Support custom scope messages via fixture
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
c081c68d34 libtest: Add T_make_runner()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
af9266541f libtest: Add T_get_one_clock_tick_busy()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
e3e3b871ee libtest: Add T_busy()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
361404e87d libtest: Move <t.h> to <rtems/test.h>
Update #3199.
2020-07-23 09:27:45 +02:00
Sebastian Huber
9de8d61a9a libtest: <rtems/test.h> to <rtems/test-info.h>
Rename this header file to later move <t.h> to <rtems/test.h>.  The main
feature provided by <rtems/test-info.h> is the output of standard test
information which is consumed by the RTEMS Tester.

Update #3199.
2020-07-23 09:27:10 +02:00
Sebastian Huber
33314eb60a bsps/clock: Fix fast idle clock tick support
If we interrupt a thread dispatch critical section (thread dispatch
disable level != ISR nest level), then we should not do the fast idle
mode since this may delay an ongoing system call forever.
2020-07-23 08:56:06 +02:00
Sebastian Huber
1fab9726c9 score: Improve _Thread_Start() description 2020-07-21 17:13:47 +02:00
Christian Mauderer
3a95a07d88 media-server: Add ability for retry.
This adds the possibility to request a retry in the media-listener if an
operation failed. Usefull for example if you want to automatically
reformat a disk if it wasn't possible to mount it.
2020-07-17 08:12:37 +02:00
Jan Sommer
9cb107c970 bsps/pc386: Fix IPI for non-consecutive APICIDs
- properly use the cpu <-> apic maps for IPIs

Closes #4029.
2020-07-16 08:00:32 -05:00
Sebastian Huber
a3ed421939 score: Remove deprecated Thread
This type was deprecated in RTEMS 5.1.

Close #3991.
2020-07-14 07:25:48 +02:00
Sebastian Huber
53a5af2155 rtems: Remove deprecated proc_ptr definition
Close #3586.
2020-07-14 07:25:47 +02:00
Sebastian Huber
2adf328d05 rtems: Remove support for RTEMS_DEPRECATED_TYPES
Close #3584.
2020-07-14 07:25:47 +02:00
Sebastian Huber
312fcf2fd4 rtems: Remove rtems_thread_cpu_usage_t
This type was deprecated in RTEMS 5.1.

Close #3594.
2020-07-14 07:25:47 +02:00
Sebastian Huber
1546b1c01d rtems: Remove region_information_block
This type was deprecated in RTEMS 5.1.

Close #3592.
2020-07-14 07:25:47 +02:00
Sebastian Huber
f8998f19da rtems: Remove rtems_context_fp
This type was deprecated in RTEMS 5.1.

Close #3590.
2020-07-14 07:25:47 +02:00
Sebastian Huber
df2dac388d rtems: Remove rtems_context
This type was deprecated in RTEMS 5.1.

Close #3588.
2020-07-14 07:25:47 +02:00
Sebastian Huber
65dc040bfb rtems: Remove rtems_rate_monotonic_period_time_t
This type was deprecated in RTEMS 5.1.

Close #3596.
2020-07-14 07:25:47 +02:00