Commit Graph

1419 Commits

Author SHA1 Message Date
Kinsey Moore
150dcf5e47 libio: Clean up usage of rtems_termios_device_mode
This cleans up outputUsesInterrupts usage with rtems_termios_device_mode
enum values. The outputUsesInterrupts member was typed as an int, named
as if it were a boolean value, and used as if it were a
rtems_termios_device_mode enum. In this patch, values assigned to
outputUsesInterrupts have been converted to the corresponding
rtems_termios_device_mode enum value, conversions from
deviceOutputUsesInterrupts have been made explicit, and uses of
rtems_termios_device_mode enum values with deviceOutputUsesInterrupts
have been converted to booleans.
2024-01-10 14:43:53 -06:00
Sebastian Huber
d586b3c014 libtest: Add T_add_remark()
This can be used to report that nested test cases did run in a test
case.

Update #4971.
2023-11-28 14:30:46 +01:00
Sebastian Huber
71c024eaca score: Fix typo in name 2023-11-21 11:51:56 +01:00
Sebastian Huber
0c65f9faf3 score: Fix implicit integer conversion warnings 2023-11-02 13:40:33 +01:00
Sebastian Huber
51d596281c imfs: Constify rtems_tarfs_load()
Change the public image data type to a void pointer.
2023-11-02 13:34:22 +01:00
Kinsey Moore
894ce51cd5 cpukit/score: Convert Thread_Life_state to uint32_t
Thread_Life_state is used as a bitfield, but is declared as an enum.
This converts the enum typedef to a uint32_t typedef and associated bit
definitions.
2023-10-30 16:43:01 -05:00
Sebastian Huber
b8f1988f15 doxygen: Replace and move main page
Replace the main page with a high level description of the RTEMS feature
set similar to:

https://docs.rtems.org/branches/master/user/overview/index.html#features

The replaced content can be found in the RTEMS Classic API Guide:

https://docs.rtems.org/branches/master/c-user/overview.html

https://docs.rtems.org/branches/master/c-user/key_concepts.html

Update #3705.
2023-10-23 11:16:39 +02:00
Sebastian Huber
c15132aafd mpci: Hide implementation details
This improves the standard compatibility of API headers.  It fixes
errors like this if RTEMS_MULTIPROCESSING is enabled:

cpukit/include/rtems/score/processormask.h: In function 'uint32_t _Processor_mask_Find_last_set(const Processor_mask*)':
cpukit/include/rtems/score/processormask.h:339:21: error: 'flsl' was not declared in this scope
  339 |   return (uint32_t) __BIT_FLS( CPU_MAXIMUM_PROCESSORS, a );
      |                     ^~~~~~~~~
2023-10-20 11:16:53 +02:00
Sebastian Huber
ee63681aeb tests: Add header for RTEMS test printer
The <rtems/test-info.h> header file is required for every RTEMS test
program.  Move the RTEMS test printer support to a dedicated header file
<rtems/test-printer.h>.  This removes an unnecessary dependency to the
RTEMS printer support in <rtems/test-info.h>.

Tests using the RTEMS Testing Framework no longer depend on the
<rtems/printer.h>.
2023-09-26 08:04:30 +02:00
Sebastian Huber
2111497c0f rtems: rtems_configuration_get_interrupt_stack_size()
Fix rtems_configuration_get_interrupt_stack_size() for some code models.

The _ISR_Stack_size symbol has an arbitrary absolute address and may not
be representable in the code model used by the compiler.

Update #4953.
2023-09-15 10:44:08 +02:00
Sebastian Huber
206bbeb31b score: Fix TLS support for some code models
Store symbols with an arbitrary absolute address such as _TLS_Size,
_TLS_Alignment, _TLS_Data_size, and _TLS_BSS_size in an object to avoid issues
with some code models.

Update #4953.
2023-09-15 10:44:08 +02:00
Sebastian Huber
0add2d2edc score: Fix RTEMS_DEFINE_GLOBAL_SYMBOL()
The availability of a proper RTEMS_DEFINE_GLOBAL_SYMBOL() implementation
depends on __asm__() and thus __GNUC__.

Clarify documentation.

Update #4953.
2023-09-13 07:45:35 +02:00
Chris Johns
b9f11607b1 libdl: Realloc text memory if there are trampolines
- Add resize to the allocator interface

- Rework the trampoline variables in the obj struct
  to make better sense of what is happening

Closes #4944
2023-08-27 07:31:49 +10:00
Chris Johns
27da374e48 libdl: Add support to import base image TLS symbols
This change requires an rtems-tools update for symbol generation.

Working architectures:
 - aarch64
 - arm
 - powerpc
 - sparc

No newlib TLS support but checked:
 - i386
 - m69k

Updates #4920
2023-08-21 11:16:17 +10:00
Joel Sherrill
fd693085ea Add the Regulator Interface and test
Updates #4924.

The Regulator is an application support class which is used to
deal with the scenario where there is a bursty input source
which needs to be metered out to a destination sink. The maximum
size of bursts needs to be known and the delivery method must
be configured to deliver messages at a rate that allows the
traffic to not overflow.
2023-08-11 13:44:47 -05:00
Sebastian Huber
6293fc4fd5 score: Assert scheduler index validity
Update #4844.
2023-07-28 17:13:14 +02:00
Sebastian Huber
64d9fc6e01 doxygen: Fix group memberships in libtest 2023-07-28 12:25:01 +02:00
Sebastian Huber
3ba43da922 score: Move <rtems/score/gcov.h>
Move <rtems/score/gcov.h> to <rtems/test-gcov.h>.  These functions do
not belong to an super core service.
2023-07-28 11:58:32 +02:00
Sebastian Huber
527af2b7f2 score: Move formatted I/O functions
These functions do not belong to an super core service.
2023-07-28 11:58:32 +02:00
Gedare Bloom
c1cad595af Revert "cpukit/dev/can: Added CAN support"
This reverts commit cd91b37dce.

Closes #4803.
2023-07-27 12:41:28 -06:00
Sebastian Huber
1bc5d3e481 sys: Add files to Doxygen group
Canonicalize brief descriptions.

Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
ec1e500f4f timecounter: Add files to Doxygen group
Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
d3fe128d67 posix: Add files to Doxygen group
Canonicalize brief descriptions.

Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
58840ffbb0 rtems: Add files to Doxygen groups
Provide basic Doxygen comments.

Update #3706.
Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
f99f5cec85 libtest: Place files into a Doxygen group
Canonicalize the file headers.

Update #3707.
2023-07-26 07:18:29 +02:00
Sebastian Huber
0e70e989e6 rtems: Improve task entry wording 2023-07-25 07:26:01 +02:00
Sebastian Huber
c8cae1d82d score: Move _IO_Relax() to new <rtems/dev/io.h>
This function is not a super core service.
2023-07-24 17:51:48 +02:00
Sebastian Huber
49356594d3 rtems: Fix typo
Update #4772.
2023-07-20 15:05:33 +02:00
Kinsey Moore
21429f681d rtems: Update references to rtems_task_wake_after
rtems_task_wake_after takes a parameter in terms of a count of clock
ticks and not a measure in a subunit of seconds. This updates
documentation to reflect that. This also makes obvious the caveat about
the first tick wait not being a whole tick and points the user at a
replacement for better accuracy.

Updates #4772
2023-07-20 11:31:25 +02:00
Joel Sherrill
6264b14804 Revert accidentally committed "Remove unused _IO_Relax"
Sebastian has agreed to move this out of score. I should have
removed this patch from my tree but accidentally committed it
with another patch.
2023-07-03 10:32:53 -05:00
Joel Sherrill
e49e8daf3d Remove unused _IO_Relax
The only use was in a test.
2023-07-03 10:11:58 -05:00
Sebastian Huber
83305f5050 pci: Do not use BSP-specific interrupt API
Update #3269.
2023-06-16 06:35:22 +02:00
Sebastian Huber
a799809213 score: Remove CPU port atomic operations API
Use the C/C++ standard API directly.
2023-06-12 07:46:23 +02:00
Sebastian Huber
0613593148 score: Remove CPU port specific cpuatomic.h
All CPU ports used the same <rtems/score/cpustdatomic.h> header file to
provide the atomic operations.  Remove the header file indirection.
2023-06-12 07:46:23 +02:00
Sebastian Huber
0c3d6f58f1 termios: Add <rtems/termiosdevice.h>
Add <rtems/termiosdevice.h> which does not depend on <rtems/libio.h> to
provide rtems_termios_device_context and rtems_termios_device_handler.
For polled serial device drivers, this removes a header file dependency
to the full file system support.
2023-05-31 10:07:17 +02:00
Joel Sherrill
63415655e3 score/src/pheap*: Remove unreferenced methods
* _Protected_heap_Get_block_size
  * _Protected_heap_Iterate
  * _Protected_heap_Resize_block

Closes #4909.
2023-05-26 10:12:51 -05:00
Sebastian Huber
eb299786c6 rtems: Document scheduler configuration API 2023-05-24 14:58:59 +02:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Sebastian Huber
c588daecb9 rtems: Reference types in construct directives 2023-05-19 08:09:37 +02:00
Sebastian Huber
60c291a128 rtems: Add constraint to types 2023-05-19 08:09:37 +02:00
Sebastian Huber
94df7a0125 basedefs.h: Improve formatting 2023-05-19 07:47:37 +02:00
Sebastian Huber
69635b3b1c basedefs.h: Add proper brief description 2023-05-19 07:47:37 +02:00
Sebastian Huber
35106bd8e0 rtems: Conditionally include MPCI header 2023-05-19 07:47:37 +02:00
Joel Sherrill
3f4454b686 _TOD_Adjust method is unused. Remove it.
Use of this method was likely eliminated during the rework to use
FreeBSD bintime/sbintime.

Close #4905.
2023-05-16 08:40:51 -05:00
Aaron Nyholm
984693a4b3 libmisc/shell: Add flashdev command 2023-05-16 12:48:18 +10:00
Aaron Nyholm
15d4428e96 cpukit/flash: Add API for Flash devices 2023-05-16 12:48:13 +10:00
Sebastian Huber
1f00afcb5a zlib: Update from 1.2.5 to 1.2.13
The updated files were extracted from:

https://www.zlib.net/zlib-1.2.13.tar.xz

The archive had an SHA-256 hash value of:

d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98

Close #4902.
2023-05-09 15:07:09 +02:00
Sebastian Huber
6979b03b0c score: Simplify _Objects_Is_api_valid()
Close #4863.
2023-04-26 10:39:34 +02:00
Sebastian Huber
863b26ee3a score: Avoid cyclic header file dependencies
There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed
basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from
assert.h in basedefs.h.

Fix this by introducing _Debug_Unreachable() in basedefs.h.

Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and
assert.h.

Close #4900.
2023-04-25 08:25:33 +02:00
Sebastian Huber
3353d3f3ad doxygen: Add group for FreeBSD kernel header files 2023-03-17 08:47:28 +01:00