summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* _TOD_Validate(): Fix incorrect return codeFrank Kühndel2021-05-128-50/+59
| | | | | | | | | | | | | | | This patch fixes bug #4403. Directives * rtems_timer_fire_when() * rtems_timer_server_fire_when() * rtems_task_wake_when() are documented to return RTEMS_INVALID_ADDRESS when their time-of-day argument is NULL. But actually they return RTEMS_INVALID_CLOCK. To fix the issue this patch changes _TOD_Validate() to return a status code instead of just true/false. Close #4403
* rtems: Use _Objects_Free_nothing() for msg queuesSebastian Huber2021-05-112-6/+9
| | | | | | | | Use _Objects_Free_nothing() for rtems_message_queue_construct() to avoid unreachable code in _CORE_message_queue_Close() in case only user-provided message buffers are used. Update #4007.
* score: Rename _Stack_Free_nothing()Sebastian Huber2021-05-118-17/+17
| | | | | | | Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
* rtems: rtems_scheduler_get_processor_set() docsSebastian Huber2021-05-071-1/+1
| | | | | | Document changed error status. Update #4401.
* rtems_scheduler_ident_by_processor_set() docsSebastian Huber2021-05-071-0/+2
| | | | Document new error status.
* validation: Fix handling of N/A pre-conditionsSebastian Huber2021-05-079-492/+43
| | | | | | | In the action requirements, some pre-conditions are not applicable depending on the state of other pre-conditions. There is no particular order in the pre-conditions, so we have to check the N/A status individually.
* Check the alignment in posix_memalign() earlierSebastian Huber2021-05-071-4/+4
| | | | | | | Make sure all conditions to do a proper memory allocation are satisfied before a zero size memory allocation is performed. Update #4390.
* bsps/shared/ofw: Fix coverity defectsG S Niteesh Babu2021-05-061-1/+11
| | | | | | | | | | This patch adds asserts to fix coverity defects 1) CID 1474437 (Out-of-bounds access) 2) CID 1474436 (Out-of-bounds access) From manual inspection, out of bounds access cannot occur due to bounds checking but coverity fails to detect the checks. We are adding asserts as a secondary check.
* Return NULL for zero size allocationsSebastian Huber2021-05-068-63/+56
| | | | | | | | | | | | | | | In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Return NULL on RTEMS to more likely catch the use of a zero size memory area by erroneous applications. Update #4390.
* libc: Reimplement posix_memlign()Sebastian Huber2021-05-061-7/+22
| | | | | | | | Move all error checks into posix_memalign() so that the returned memory pointer is set to NULL under all error conditions except memptr == NULL. Use parameter names of POSIX documentation.
* rtems: rtems_scheduler_get_processor_set() statusSebastian Huber2021-05-062-2/+2
| | | | | | | | | In case the processor set is not large enough to contain the processor set owned by the scheduler return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4401.
* rtems: rtems_scheduler_ident_by_processor_set()Sebastian Huber2021-05-061-0/+4
| | | | Check for a NULL processor set pointer.
* psxtests: Fix math function build warningsStephen Clark2021-05-0560-0/+231
| | | | | Added conditionals to ensure that long double function tests were only built when newlib has long double math functions.
* stackchk: Fixed 32bit pointersStephen Clark2021-05-051-1/+2
| | | | | | Using 32bit types like uint32_t for pointers creates issues on 64 bit architectures like AArch64. Replaced occurrences of these with uintptr_t, which will work for both 32 and 64 bit architectures.
* rtems-fdt: Fixed 32bit pointersStephen Clark2021-05-051-2/+2
| | | | | | Using 32bit types like uint32_t for pointers creates issues on 64 bit architectures like AArch64. Replaced occurrences of these with uintptr_t, which will work for both 32 and 64 bit architectures.
* score: Make _Once_Lock() and _Once_Unlock() staticSebastian Huber2021-05-042-32/+16
| | | | These two functions are no longer used outside of _Once().
* rtems: Use allocator mutex for timer serverSebastian Huber2021-05-041-4/+2
| | | | | | | The allocator mutex is recursive and already used for the task creation in rtems_timer_initiate_server(). Just use this mutex instead of the once mutex to serialize the initialization. This avoids a dependency on condition variables which are not used here.
* Make zero size allocation result consistentSebastian Huber2021-05-044-24/+100
| | | | | | | | | | | | | | | | | | The zero size allocations had no consistent behaviour in RTEMS. For example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 ) returned in p a unique pointer (or NULL if no memory is available). In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Use this approach for RTEMS as well throughout the memory allocation directives Close #4390.
* bsps/riscv: Support RTEMS_NOINIT in linkcmdsSebastian Huber2021-05-031-0/+7
| | | | Update #3866.
* libtest: Fix use of flexible array memberSebastian Huber2021-05-033-35/+37
| | | | Flexible array members must not appear in the middle of a structure.
* score: Add _Thread_Dispatch_direct_no_return()Sebastian Huber2021-05-025-4/+18
| | | | | | | | | | The __builtin_unreachable() cannot be used with current GCC versions to tell the compiler that a function does not return to the caller, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99151 Add a no return variant of _Thread_Dispatch_direct() to avoid generation of dead code.
* spmisc01: Test RTEMS_NOINITSebastian Huber2021-05-021-0/+5
| | | | Close #3866.
* bsps: Support RTEMS_NOINIT in linkcmdsSebastian Huber2021-05-0262-1/+256
| | | | Update #3866.
* basedefs: Add RTEMS_NOINITSebastian Huber2021-04-301-16/+26
| | | | Update #3866.
* Use alias for rtems_task_self() and pthread_self()Sebastian Huber2021-04-306-64/+62
| | | | This may reduce the code size a bit.
* appl-config: Add missing "the"Sebastian Huber2021-04-301-11/+10
|
* appl-config: CONFIGURE_BSP_PREREQUISITE_DRIVERSSebastian Huber2021-04-301-2/+2
| | | | Replace copy and paste with a proper description.
* appl-config: Reformat option constraintsSebastian Huber2021-04-301-120/+209
| | | | | | If only one constraint is present, then use a single sentence, otherwise use a list for the constraints. Format the constraints so that the line length limit is maintained.
* cpukit/Makefile.am: Remove remaining LIBNETWORKING filesVijay Kumar Banerjee2021-04-292-44/+0
|
* main_rtrace.c: Add error return when malloc failsRyan Long2021-04-291-0/+1
| | | | | | | CID 1399709: Dereference after null check in rtems_trace_buffering_shell_save(). Closes #4329
* objectextendinformation.c: Ensure information->object_blocks is not NULLRyan Long2021-04-291-0/+11
| | | | | | CID 26033: Dereference after null check in _Objects_Extend_information(). Closes #4326
* pwdgrp.c: Removed unused variableRyan Long2021-04-291-2/+0
| | | | | | | The 'sc' variable was originally storing the return value of mkdir(). This was causing an issue, so it was changed to make it to where we ignored the return value with (void). The 'sc' variable was left in by mistake.
* bsps/arm: ARMV7_CP15_START_WORKSPACE_ENTRY_INDEXSebastian Huber2021-04-291-1/+1
| | | | | | | Change the ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX value to be in line with the workspace entry in ARMV7_CP15_START_DEFAULT_SECTIONS. Close #4395.
* psx13: Reworked and relicensedRyan Long2021-04-283-582/+324
| | | | | | | Changed the way the tests were structured, added rtems_test_assert()'s, updated psx13.scn and the license. Update #3899
* rtems: Generate <rtems/rtems/tasks.h>Sebastian Huber2021-04-282-634/+1983
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/region.h>Sebastian Huber2021-04-281-180/+633
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Generate <rtems/rtems/intr.h>Sebastian Huber2021-04-282-220/+750
| | | | | | | | Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3899. Update #3993.
* rtems: Fix typo "cod" -> "code"Sebastian Huber2021-04-281-3/+3
|
* rtems: Clarify constraints in documentationSebastian Huber2021-04-286-15/+26
|
* powerpc/shared/console: "termios" first open sets console baud to 9600Peter Dufault2021-04-271-0/+4
| | | | | When the PowerPC shared console baud rate starts at anything other than 9600 the termios code will set it to 9600 at the first open.
* powerpc/shared/console: Make console baud rate configurable.Peter Dufault2021-04-2713-4/+39
| | | | | | | | | | | The "powerpc/shared/console" code has the start-up console value fixed at 9600 baud. This changes the hard-wired constant "9600" in the code to the configuration setting "BSP_CONSOLE_BAUD" and adds configuration support in both the "waf" and the legacy configuration systems. Note that the VME BSPs beatnik, mvme3100, and mve5100 can be improved by adding a "mvmexxxx" BSP family. This configuration change, as well as future configuration changes, could then be made in a "grp.yml" file.
* Return status code for _Thread_Start()Sebastian Huber2021-04-274-13/+12
| | | | | This avoids having conditional statements to get the API-specific status code.
* Return status code for _Scheduler_Set_affinity()Sebastian Huber2021-04-2711-45/+63
| | | | | This avoids having conditional statements to get the API-specific status code.
* rtems: Change rtems_task_get_affinity() statusSebastian Huber2021-04-275-4/+7
| | | | | | | | | In case the processor set is not large enough to contain the processor affinity set of the task return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4393.
* Simplify get affinitiy directivesSebastian Huber2021-04-272-6/+0
| | | | | There is no need to disable thread dispatching to get the affinity of a task.
* Return status code for _Scheduler_Get_affinity()Sebastian Huber2021-04-275-14/+23
| | | | | This avoids having conditional statements to get the API-specific status code.
* rtems: Constify timer fire when directivesSebastian Huber2021-04-273-4/+4
| | | | Close #4392.
* Makefile.am: Remove legacy networking filesVijay Kumar Banerjee2021-04-2646-490/+6
|
* Implementation for STM32 HAL_GetTick using RTEMSRobin Mueller2021-04-261-2/+2
| | | | Uses configured millisecond per ticks
* Nucleo UART3 (console) pins correctionRobin Mueller2021-04-232-8/+2
| | | | Now using default pins