Commit Graph

33620 Commits

Author SHA1 Message Date
Sebastian Huber
f48d7834b0 doxygen: Fix use of getchark() and rtems_putc() 2020-09-28 09:10:00 +02:00
Sebastian Huber
febc66048a validation: Test rtems_message_queue_construct()
Update #4007.
2020-09-28 07:16:04 +02:00
Sebastian Huber
4a4f41ed64 rtems: Add rtems_message_queue_construct()
In contrast to message queues created by rtems_message_queue_create(), the
message queues constructed by this directive use a user-provided message buffer
storage area.

Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message
buffer storage areas.

Update #4007.
2020-09-28 07:16:01 +02:00
Sebastian Huber
24ea1cebeb rtems: Remove Message_queue_Control::attribute_set
Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined.  This
reduces the Message_queue_Control size in standard RTEMS configurations.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
2c09f54fc4 score: Add <rtems/score/coremsgbuffer.h>
Move the CORE_message_queue_Buffer definition to a separate header file to be
able to use it independent of the remaining Message Queue Handler API.

Change license to BSD-2-Clause according to file history.

Update #3053.
Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
69b4fe592f score: Simplify CORE_message_queue_Buffer
Merge CORE_message_queue_Buffer structure into
CORE_message_queue_Buffer_control.

Use a zero-length array for the actual message buffer.  This reduces the
structure size on all targets.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
5bc7c3724f score: Improve _CORE_message_queue_Initialize()
Return a status code and differentiate between error conditions.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
34dd90a560 score: Gather message queue control initialization
Initialize the structure in a single code block after the error checks and
calculations.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
fe2cb7c47c score: Fix allocation size calculation
The previous multiplication error check is broken on 64-bit machines.  Use the
recommended check from SEI CERT C Coding Standard, "INT30-C. Ensure that
unsigned integer operations do not wrap".

Make sure the message size computation does not overflow.

Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
3c0255766d score: Use RTEMS_ALIGN_UP()
Update #4007.
2020-09-28 06:19:52 +02:00
Sebastian Huber
cbd4f542ec build: Add comment
Update #3818.
2020-09-28 06:18:19 +02:00
Sebastian Huber
71ccc156a5 build: Fix option default values
For the option default values we have to use the BSP name defined by the build
specification and not the user.

Update #3818.
2020-09-27 09:36:07 +02:00
Sebastian Huber
b8d84015a4 build: Fix enabled-by evaluation
For the enabled-by evaluation we have to use the BSP name defined by the
build specification and not the user.

Update #3818.
2020-09-27 09:35:06 +02:00
Sebastian Huber
9a27c9cfd8 build: Simplify get_compiler()
Update #3818.
2020-09-27 09:34:27 +02:00
Sebastian Huber
73926320d7 build: Add RTEMS_PROFILING
Update #3818.
2020-09-25 18:51:00 +02:00
Sebastian Huber
a72419b4de libtest: Remove superfluous assignment
Issue found by Coverity (CID 1437643).
2020-09-24 18:07:50 +02:00
Jan Sommer
1f77518fca bsps/pc386: Add missing license header
Closes #4093.
2020-09-23 08:25:30 -05:00
Sebastian Huber
18fe650ad0 or1k: Do not use printk() for _CPU_Fatal_halt()
Debug output can be added to user-defined fatal error handlers.
2020-09-23 07:35:05 +02:00
Sebastian Huber
2248b3781d or1k: Remove superfluous includes
Including <stdio.h> in <rtems/score/cpu.h> breaks libbsd.
2020-09-23 07:35:05 +02:00
Sebastian Huber
e8450a6c36 bsps/riscv: Add bsp_fdt_map_intr()
This function is required by libbsd.
2020-09-23 07:35:05 +02:00
Chris Johns
5ebba2c5f4 libmisc/capture: Add rtems-trace-buffer-default.c to the autotools build 2020-09-23 13:59:31 +10:00
Chris Johns
de58eb2f4f cpukit/rtems: Add taskconstruct.c to the autotools build 2020-09-23 13:46:48 +10:00
Sebastian Huber
d9bdf16664 rtems: Install missing header file
Update #3053.
2020-09-22 09:44:01 +02:00
Sebastian Huber
d110e6e3b3 bsp/gen83xx: Add missing source file
Update #3818.
2020-09-21 06:34:56 +02:00
Sebastian Huber
e59cb6a2b2 bsps/powerpc: Remove __ppc_generic define
Do not force BSPs to define __ppc_generic.

This was probably the last command line define in the BSPs.
2020-09-20 17:45:11 +02:00
Sebastian Huber
456b8ae371 bsp/motorola_powerpc: Remove obsolete GCC option
commit 20c89ab7c5091ee48535392cae2177aa1a1c43eb
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Fri Jan 12 21:50:52 2018 +0100

    rs6000: Remove -mstring

    -mstring is only enabled by default on 601, and with -Os on some
    configurations.  It is almost always slower (than not using it) and
    does not very often lead to smaller code.

    This patch disables it.  If a user uses -mstring he gets a warning
    (but not with -mno-string).  I left the target attribute in place, it
    just doesn't do anything anymore.

    The patch also deletes a whole bunch of code.  The 'N' and 'O' output
    modifiers are now unused, but now is not the time to delete them.
2020-09-20 17:42:11 +02:00
Sebastian Huber
3c68456a25 bsps/powerpc: Remove -fno-common
Remove -fno-common because it is the default since GCC 10.
2020-09-20 17:39:02 +02:00
Sebastian Huber
9f2a2075fc capture: Move default trace data
Provide the default trace data in a separate file to avoid issues on targets
with a small-data area.

Close #3883.
2020-09-20 17:32:10 +02:00
Sebastian Huber
2b1a4ac84f build: Fix linker path
Use -B for the linker since some architectures use extra start files defined by
the GCC specification and provided by the BSP, for example powerpc.  Start
files are not found by -L.

In the long run, the GCC defined start files should be provided by GCC.  This
is a GCC 11 topic.

Update #3818
2020-09-20 17:32:10 +02:00
Sebastian Huber
da27e962b1 score: Document _Scheduler_Try_to_schedule_node() 2020-09-18 19:38:24 +02:00
Sebastian Huber
0b410b8ac7 rtems: Generate <rtems.h>
Change license to BSD-2-Clause according to file history and
documentation re-licensing agreement.

Update #3053.
Update #3899.
Update #3993.
2020-09-18 18:55:09 +02:00
Sebastian Huber
7892ac0ca4 rtems: From <rtems.h> to <rtems/rtems/mp.h>
Move multiprocessing related definitions to <rtems/rtems/mp.h>.  This
makes <rtems.h> an include only header file.
2020-09-18 18:55:09 +02:00
Sebastian Huber
c161216d44 rtems: From <rtems.h> to <rtems/rtems/types.h>
Move type related definition to <rtems/rtems/types.h>.  The goal is to
make <rtems.h> an include only header file.
2020-09-18 18:55:09 +02:00
Sebastian Huber
d433b72427 rtems: From <rtems.h> to <rtems/rtems/tasks.h>
Move task related declarations and definitions to <rtems/rtems/tasks.h>.
The goal is to make <rtems.h> an include only header file.
2020-09-18 18:55:09 +02:00
Sebastian Huber
1615b5ff17 rtems: From <rtems.h> to <rtems/rtems/object.h>
Move object related declarations and definitions to
<rtems/rtems/object.h>.  The goal is to make <rtems.h> an include only
header file.
2020-09-18 18:55:09 +02:00
Sebastian Huber
5353ea89d7 rtems: Move from <rtems.h> to <rtems/config.h>
Move configuration related declarations and definitions to
<rtems/config.h>.  The goal is to make <rtems.h> an include only header
file.
2020-09-18 18:55:09 +02:00
Sebastian Huber
96ea30f0c9 score: Improve Scheduler Handler documentation 2020-09-18 18:52:49 +02:00
Gedare Bloom
031f8124f2 gitignore: ignore top-level ini files 2020-09-18 09:49:19 -06:00
Sebastian Huber
4e5327ff94 doxygen: Wrap long lines 2020-09-18 08:20:03 +02:00
Sebastian Huber
2f65e136e5 rtems: Fix typo
Update #3959.
2020-09-17 20:07:29 +02:00
Sebastian Huber
3dd4cbb50d validation: rtems_task_construct() errors
This is the first test case generated from a specification item in the
rtems-central repository.

Update #3959.
2020-09-17 17:42:25 +02:00
Sebastian Huber
139ffa25d9 validation: Add general purpose test suite
Add a general purpose test suite for validation tests.

This is the first test suite generated from a specification item in the
rtems-central repository.

Update #3959.
2020-09-17 17:42:25 +02:00
Sebastian Huber
ad22c6552a doxygen: Move top-level group definitions
Update #3959.
2020-09-17 17:42:25 +02:00
Sebastian Huber
6942e5f991 rtems: Add rtems_task_construct()
In contrast to rtems_task_create() this function constructs a task with
a user-provided task storage area.  The new directive uses a
configuration structure instead of individual parameters.

Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a
task storage area based on the task attributes and the size dedicated to
the task stack and thread-local storage.  This macro may allow future
extensions without breaking the API.

Add application configuration option
CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS
Workspace size estimate.

Update #3959.
2020-09-17 17:42:25 +02:00
Sebastian Huber
c312f3110e CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
Add this application configuration option.  This configuration option can be
used to reserve space for the dynamic linking of modules with thread-local
storage objects.

Add RTEMS_TASK_STORAGE_ALIGNMENT to define the minium alignment of a
thread-local storage size.

Update #4074.
2020-09-17 17:42:25 +02:00
Sebastian Huber
dce1cdf19e rtems: Add RTEMS_ALIGN_UP()
Update #3959.
Update #4074.
2020-09-17 17:42:25 +02:00
Sebastian Huber
641b31a48d rtems: Add RTEMS_ALIGN_DOWN()
Update #3959.
Update #4074.
2020-09-17 17:42:25 +02:00
Sebastian Huber
11c1b862df build: Allow test program item UIDs with a "-"
Update #3818.
2020-09-17 17:42:25 +02:00
Sebastian Huber
845674e3fb build: Fix mghttpd01 test exclude
Update #3818.
2020-09-17 17:42:25 +02:00
Sebastian Huber
98d2adb935 libtest: Fix T_thread_switch_record()
If RTEMS_DEBUG is not defined, then we have to explicitly set the node
off the chain.

Update #3199.
2020-09-17 17:42:25 +02:00