Commit Graph

1365 Commits

Author SHA1 Message Date
Sebastian Huber
3a6efa2e7f score: Fix Doxygen group identifier 2023-03-15 16:01:06 +01:00
Sebastian Huber
09ddbde257 score: Add file to Doxygen group 2023-03-15 16:01:06 +01:00
Sebastian Huber
2859e422b3 Provide kernel space items only if needed
The kernel space parts of standard system header files were protected
against misuse by a preprocessor error directive.  This approach does
not work well with tools such as Doxygen.  Provide the kernel space
items only if the required defines are present.
2023-03-14 08:00:11 +01:00
Sebastian Huber
bb465c8548 doxygen: Add Doxygen files to a group
Update #3707.
2023-02-16 08:27:09 +01:00
Sebastian Huber
fa77ad1494 doxygen: Harmonize header file references 2023-02-14 15:16:04 +01:00
Sebastian Huber
1f8b26a809 doxygen: Use @anchor for appl config options
The application configuration options are documented in
"cpukit/doxygen/appl-config.h".  Since the application configuration
option defines are also present in multiple test program sources, the
"#OPTION" references cannot be mapped to a unique definition.  Add an
anchor for each option and reference it to avoid the issues with the
multiple definitions.

Update #3994.
2023-02-14 07:42:14 +01:00
Sebastian Huber
c68cfbd55b libtest: Fix Doxygen group identifier 2023-02-13 10:06:20 +01:00
Joel Sherrill
77e7bd97dc libmisc/serdbg: Remove obsolete serial debug
Closes #2828.
2023-02-09 09:05:58 -06:00
Zhongjie Zhu
ebb9e8c0a6 score: Fix maybe uninitialized warning
There are different cases for _ISR_lock_ISR_disable() and
_ISR_lock_ISR_enable() in the case RTEMS_SMP is defined or
RTEMS_PROFILING is defined, so remove the related code.

../../../cpukit/include/rtems/score/threaddispatch.h: In function '_Thread_Dispatch_disable':
../../../cpukit/include/rtems/score/threaddispatch.h:231:14: warning: 'lock_context' may be used uninitialized [-Wmaybe-uninitialized]
  231 |   cpu_self = _Thread_Dispatch_disable_critical( &lock_context );
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:210:32: note: by argument 1 of type 'const ISR_lock_Context *' to '_Thread_Dispatch_disable_critical' declared here
  210 | static inline Per_CPU_Control *_Thread_Dispatch_disable_critical(
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:225:21: note: 'lock_context' declared here
  225 |   ISR_lock_Context  lock_context;
      |                     ^~~~~~~~~~~~

Update #4662.
2023-02-07 17:45:24 +01:00
Sebastian Huber
48f693a97e score: Remove unused return value
Several SMP message processing functions returned a value.  This value
was always unused.

Close #4822.
2023-01-24 16:53:03 +01:00
Sebastian Huber
0340fd9a98 cpuuse: Use standard wording and group name
Use standard wording in CPU usage reporting files.
2023-01-24 09:56:53 +01:00
Sebastian Huber
6136e28bf9 clockdrv: Add clock driver implementation group
Use standard wording in Clock Driver related files.

Update #3706.
2023-01-24 09:56:53 +01:00
Martin Erik Werner
434d11b446 rtems: Fix typo 2023-01-23 08:57:07 +01:00
Martin Erik Werner
ff3a87c16e score: Fix minor Rhe->The typo in doxygen 2023-01-23 08:57:07 +01:00
Tadeusz Struk
8632d58f97 libfdt: add fdt_get_property_by_offset_w helper
Add a new fdt_get_property_by_offset_w helper function.
It is a wrapper on fdt_get_property_by_offset that returns
a writable pointer to a property at a given offset.

Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Message-Id: <20221011182611.116011-1-tadeusz.struk@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2022-12-22 08:02:57 +01:00
Sebastian Huber
f169b513d2 score: Fix _Processor_mask_To_uint32_t()
Correctly calculate the array index and shift value in
_Processor_mask_To_uint32_t().  The bugs had no impact yet since this
function was always called with a zero value for the index in RTEMS.
2022-12-20 17:08:14 +01:00
Sebastian Huber
c46fbb9552 config: Add CONFIGURE_RECORD_INTERRUPTS_ENABLED
This enables the tracing of interrupt entry/exit events through an
application configuration option.  The interrupt processing can be
viewed with Trace Compass using rtems-record-lttng from the RTEMS Tools.

Update #4769.
2022-12-02 10:25:44 +01:00
Chris Johns
408dbeb922 libmisc/rtems-fdt: Support prop map items up to the size of uintptr_t
Updates #4729
2022-11-25 12:43:29 +11:00
Daniel Cederman
9384ac2d65 cpukit: Change license to BSD-2 for files with Gaisler copyright
This patch changes the license to BSD-2 for all source files where the
copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research.
Some files also includes copyright right statements from OAR and/or
embedded Brains in addition to Gaisler.

Updates #3053.
2022-11-14 11:00:58 +01:00
Kinsey Moore
b5983c559a cpukit/fdt: Fix typos and clarify params 2022-11-10 15:18:18 -06:00
Joel Sherrill
ecd8aec911 Remove remnants of rtems_io_lookup_name
Updates #3420.
2022-11-10 15:18:12 -06:00
Sebastian Huber
0f9231002c config: Place init task storage area in .rtemsstack
This avoids a superfluous zero initialization of the task storage area.  This
reduces the system initialization time.
2022-11-09 16:54:02 +01:00
Sebastian Huber
df81434421 rtems: Fix type in description 2022-11-08 07:40:55 +01:00
Prashanth S
cd91b37dce cpukit/dev/can: Added CAN support 2022-10-30 09:35:54 +01:00
Chris Johns
d574e08663 libdebugger: Add a target break call to suspend all running threads
- Optionally wait if there is no remote debugger connected and break
  when the remote connects

Closes #4740
2022-10-18 07:37:57 +11:00
Sebastian Huber
64fbeaa0d1 score: INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL
Ensure that the IDLE storage allocator did allocate a suffiently large area.

Update #3835.
Update #4524.
2022-10-14 10:48:23 +02:00
Sebastian Huber
45ee958552 config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZE
By default, allocate the IDLE task storage areas from the RTEMS Workspace.
This avoids having to estimate the thread-local storage size in the default
configuration.

Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to
request a static allocation of the task storage area for IDLE tasks.

Update #3835.
Update #4524.
2022-10-14 10:48:23 +02:00
Sebastian Huber
829e489230 stackchk: Add rtems_stack_checker_iterate() 2022-10-14 10:48:23 +02:00
Sebastian Huber
03ddd89459 stackchk: Avoid internal header file 2022-10-14 10:48:23 +02:00
Sebastian Huber
1ab93ba480 score: INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED
Add the INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED fatal error in case the
creation of an idle thread fails.  This may happen due to a failing create
extension provided by the application.
2022-10-14 10:48:22 +02:00
Sebastian Huber
8d44129da2 score: Simplify casts 2022-10-14 10:48:22 +02:00
Sebastian Huber
4c89fbcd31 score: Add CPU_THREAD_LOCAL_STORAGE_VARIANT
Update #3835.
2022-10-14 10:48:22 +02:00
Sebastian Huber
15bba4aecf score: Move Thread_Control::Registers member
Place this member placed directly after the end of the common block so that
the structure offsets are as small as possible.  This helps on instruction
set architectures with a very limited range for intermediate values.  For
example, see the __aeabi_read_tp() implementation for ARM Thumb-1.

Update #3835.
2022-10-14 10:48:22 +02:00
Sebastian Huber
2846b17d7e config: Changeable size for IDLE stack allocator
Allow the IDLE stack allocator to change the stack size.  This can be
used by applications with a very dynamic thread-local storage size to
adjust the thread storage area of the IDLE tasks dynamically.

Update #4524.
2022-10-14 07:29:41 +02:00
Chris Johns
40eb58fd5e libmisc/rtems-fdt: Update to support 64bit addresses
- Add support to get the parent address and size cells

- Provide support to get a reg prop address map

- Change getting a set of properties to uintptr_t

- Improve the debug mode of the ls command to print all props

Closes #4729
2022-10-10 11:40:55 +11:00
Sebastian Huber
cc43dc3e22 rtems: Clarify application config info API
Update #3993.
2022-10-04 10:44:10 +02:00
Sebastian Huber
c6bd860f13 rtems: Fix format 2022-09-30 14:54:27 +02:00
Sebastian Huber
9ed7103c61 score: Simplify Chain_Node definition
Fix documentation.
2022-09-23 11:14:58 +02:00
Sebastian Huber
a660e9dc47 Do not use RTEMS_INLINE_ROUTINE
Directly use "static inline" which is available in C99 and later.  This brings
the RTEMS implementation closer to standard C.

Close #3935.
2022-09-19 09:09:22 +02:00
Sebastian Huber
270200e972 score: Remove _CPU_Counter_difference()
All CPU ports used the same _CPU_Counter_difference() implementation.  Remove
this CPU port interface and mandate a monotonically increasing CPU counter.

Close #3456.
2022-09-09 06:57:10 +02:00
Conrad Meyer
efd19aa7c1 Implement SHA2-224 submode of SHA2-256
Like SHA2-384:SHA2-512, SHA2-224 is simply a truncated SHA2-256 with a
different initial vector.  Add to round out the complete basic SHA2 family.
2022-09-08 16:14:56 +02:00
Alan Somers
48f7979f5d Fix C++ includability of crypto headers with static array sizes
C99 allows array function parameters to use the static keyword for their
sizes. This tells the compiler that the parameter will have at least the
specified size, and calling code will fail to compile if that guarantee is
not met. However, this syntax is not legal in C++.

This commit reverts r300824, which worked around the problem for
sys/sys/md5.h only, and introduces a new macro: min_size(). min_size(x) can
be used in headers as a static array size, but will still compile in C++
mode.

Reviewed by:	cem, ed
MFC after:	4 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D8277
2022-09-08 16:14:56 +02:00
Allan Jude
7b4296ed19 Implement SHA-512 truncated (224 and 256 bits)
This implements SHA-512/256, which generates a 256 bit hash by
calculating the SHA-512 then truncating the result. A different initial
value is used, making the result different from the first 256 bits of
the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on
64bit platforms, so the result is a faster 256 bit hash.

The main goal of this implementation is to enable support for this
faster hashing algorithm in ZFS. The feature was introduced into ZFS
in r289422, but is disconnected because SHA-512/256 support was missing.
A further commit will enable it in ZFS.

This is the follow on to r292782

Reviewed by:	cem
Sponsored by:	ScaleEngine Inc.
Differential Revision:	https://reviews.freebsd.org/D6061
2022-09-08 16:14:56 +02:00
Conrad Meyer
3a22e5d30f crypto routines: Hint minimum buffer sizes to the compiler
Use the C99 'static' keyword to hint to the compiler IVs and output digest
sizes.  The keyword informs the compiler of the minimum valid size for a given
array.  Obviously not every pointer can be validated (i.e., the compiler can
produce false negative but not false positive reports).

No functional change.  No ABI change.

Sponsored by:	EMC / Isilon Storage Division
2022-09-08 16:14:56 +02:00
Allan Jude
225e7b9e75 Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c
cperciva's libmd implementation is 5-30% faster

The same was done for SHA256 previously in r263218

cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation

Extend sbin/md5 to create sha384(1)

Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h}

Reviewed by:	cperciva, des, delphij
Approved by:	secteam, bapt (mentor)
MFC after:	2 weeks
Sponsored by:	ScaleEngine Inc.
Differential Revision:	https://reviews.freebsd.org/D3929
2022-09-08 16:14:56 +02:00
Sebastian Huber
85d482f122 rtems: Include <rtems/score/cpuopts.h>
Directly include <rtems/score/cpuopts.h> in header files using CPU build
options.
2022-09-08 15:28:54 +02:00
Sebastian Huber
548d005079 score: Improve formatting 2022-09-08 15:28:54 +02:00
Sebastian Huber
33f1223cab config: Add SMP scheduler configuration errors
Issue an error message if an SMP-specific scheduler is used and
RTEMS_SMP is disabled.  This might be a more informative compared to
compiler or linker errors.
2022-09-05 16:21:14 +02:00
Sebastian Huber
444f56cdd8 score: Regenerate <rtems/score/basedefs.h>
Two interface specification items moved.
2022-09-05 15:46:32 +02:00
Sebastian Huber
e770067283 rtems: Add constraints for rtems_clock_tick() 2022-09-05 15:46:32 +02:00