Commit Graph
74 Commits
Author SHA1 Message Date
Sebastian Huber 7f1ba9c75c build: Add <rtems/rtems/clockimpl.h> 2020-12-02 11:41:09 +01: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 354c2b50a3 score: Add <rtems/score/freechainimpl.h>
Hide implementation details.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber c7e30854f2 rtems: Add _RTEMS_Name_to_id()
Simplify object name to identifier directives.  Using
_RTEMS_Name_to_id() to implement the directives enables a tail call
optimization.

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

Update #3053.
2020-08-31 16:19:57 +02:00
Sebastian Huber 6894e2f4b5 Remove accidentally committed file 2020-08-06 19:45:15 +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 39c2e28410 rtems: Remove deprecated <rtems/system.h>
Close #3980.
2020-07-14 07:25:46 +02:00
Sebastian Huber ab42b3e100 record: Add rtems_record_dump()
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib().

Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options.

Update #3904.
2020-03-18 07:20:52 +01:00
Sebastian Huber 0161b93d50 imfs: Replace devfs with an IMFS specialization
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.

The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:

  #define CONFIGURE_IMFS_DISABLE_MKNOD
  #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE

Obsolete CONFIGURE_MAXIMUM_DEVICES.  Remove BSP_MAXIMUM_DEVICES.

Update #3894.
Update #3898.
2020-03-09 17:26:54 +01:00
Sebastian Huber a78495eda2 config: Add <rtems/confdefs/wkspace.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Change licence of <rtems/confdefs.h> to BSD-2-Clause according to file
history.

Update #3053.
Close #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber 1fb1cf1a3a config: Add <rtems/confdefs/objectsposix.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber 35e58c45f7 config: Add <rtems/confdefs/wkspacesupport.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber d20209b065 config: Add <rtems/confdefs/objectsclassic.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber f5a2fd8628 config: Add <rtems/confdefs/threads.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber 40db0518a9 config: Add <rtems/confdefs/unlimited.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber 7b6596f56f config: Add <rtems/confdefs/iodrivers.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber fe84ab5c6c config: Add <rtems/confdefs/console.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber 8314933907 config: Add <rtems/confdefs/initthread.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:38 +01:00
Sebastian Huber b15d1cba0f config: Add <rtems/confdefs/inittask.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 8f3419bd88 config: Add <rtems/confdefs/extensions.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber fb0caca9bc config: Add <rtems/confdefs/newlib.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 32561f5f5b config: Add <rtems/confdefs/clock.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 1d35bf2a7f config: Add <rtems/confdefs/mcpi.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 03aff2cf85 config: Add <rtems/confdefs/malloc.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Move the default configuration to library files so that application
configurations do not include the definitions for the default case.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 691b61498e config: Add <rtems/confdefs/bdbuf.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 591e973662 config: Add <rtems/confdefs/scheduler.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:37 +01:00
Sebastian Huber 16082210d6 config: Add <rtems/confdefs/libio.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:36 +01:00
Sebastian Huber 0f8e139e14 config: Add <rtems/confdefs/percpu.h>
Remove comments and copyrightable content from the moved content.  Use
BSD-2-Clause for new file according to file history of
<rtems/confdefs.h>.

Update #3053.
Update #3875.
2020-02-25 07:18:36 +01:00
Sebastian Huber f45d0b2f8e config: Add <rtems/confdefs/bsp.h>
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:36 +01:00
Sebastian Huber 55a7316159 config: Add <rtems/confdefs/libpci.h>
Derive copyright and license for new file form the file history.

Update #3875.
2020-02-25 07:18:36 +01:00
Sebastian Huber cadd8d18e3 config: Add <rtems/confdefs/obsolete.h>
Unify handling of obsolete configuration options.  Remove comments and
copyrightable content from the moved content.  Use BSD-2-Clause license
for new file.

Update #3053.
Update #3875.
2020-02-25 07:18:36 +01:00
Sebastian Huber ba7b2df7f0 config: Add _Workspace_Size
Move the workspace size configuration constant out of the configuration
table.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber c70d112599 config: Add _Thread_Idle_stack_size
Move the idle thread stack size configuration constant out of the
configuration table.

Add THREAD_IDLE_STACK_SIZE_DEFAULT and use it to provide a default
definition of the idle thread stack size constant.

Update #3875.
2020-02-25 07:15:19 +01:00
Sebastian Huber 3b4795b46f config: Remove CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options.  These two options are probably unused, see also:

* https://lists.rtems.org/pipermail/users/2019-April/033129.html

* https://lists.rtems.org/pipermail/users/2019-April/033130.html

Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.

Using CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE would have required the
use of the undocumented CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME and
CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE configuration options.

Update #3874.
2020-02-25 07:15:18 +01:00
Sebastian Huber dbb7ac6f23 posix: Remove <rtems/posix/ptimer.h>
This file contained duplicate prototypes for standard POSIX functions
declared in <time.h>.
2020-02-17 08:20:09 +01:00
Sebastian Huber 1cb925717e score: Add Memory Handler
Update #3838.
2020-02-04 05:52:28 +01:00
Joel Sherrill 7685b48f40 cpukit/headers.am: Regenerate 2019-10-04 09:12:55 -05:00
Sebastian Huber 3eb8d78369 record: Introduce <rtems/recordserver.h>
This helps to get rid of the <rtems/rtems/tasks.h> dependency in
<rtems/record.h>.

Update #3665.
2019-08-28 15:22:06 +02:00
Sebastian Huber f9219db2a9 rtems: Add rtems_scheduler_get_processor_maximum()
Add rtems_scheduler_get_processor_maximum() as a replacement for
rtems_get_processor_count(). The rtems_get_processor_count() is a bit
orphaned. Adopt it by the Scheduler Manager. The count is also
misleading, since the processor set may have gaps and the actual count
of online processors may be less than the value returned by
rtems_get_processor_count().

Update #3732.
2019-04-09 08:06:46 +02:00
Sebastian Huber cfcc2cbf7a Add RTEMS Test Framework
Update #3199.
2019-03-27 07:15:55 +01:00
Sebastian Huber 286e9354e0 Regenerate cpukit/headers.am
Updates #3686.
2019-03-13 08:15:03 +01:00
Chris Johns a7c6176293 libtest/dl08: Add a test for archives.
- Create 2 archives.
- Load 1 object file which loads 6 object files from the libraries.

Updates #3686
2019-02-09 10:06:34 +11:00
Sebastian Huber dca618404e Add low level event recording support
Add low level event recording infrastructure for system and user
defined events.  The infrastructure is able to record high frequency
events such as

 * SMP lock acquire/release,
 * interrupt entry/exit,
 * thread switches,
 * UMA zone allocate/free, and
 * Ethernet packet input/output, etc.

It allows post-mortem analysis in fatal error handlers, e.g. the last
events are in the record buffer, the newest event overwrites the oldest
event.  It is possible to detect record buffer overflows for consumers
that expect a continuous stream of events, e.g. to display the system
state in real-time.

The implementation supports high-end SMP machines (more than 1GHz
processor frequency, more than four processors).

Add a new API instead. The implementation uses per-processor data
structures and no atomic read-modify-write operations.  It is uses
per-processor ring buffers to record the events.

The CPU counter is used to get the time of events. It is combined with
periodic uptime events to synchronize it with CLOCK_REALTIME.

The existing capture engine tries to solve this problem also, but its
performance is not good enough for high-end production systems.  The
main issues are the variable-size buffers and the use of SMP locks for
synchronization.  To fix this, the API would change significantly.

Update #3665.
2019-01-29 13:51:33 +01:00
Sebastian Huber ef23838543 score: Avoid sbintime_t in API headers
The sbintime_t is a non-POSIX type and not visible if strict standard
options are selected.

Move implementation details from <rtems/score/timestamp.h> to
<rtems/score/timestampimpl.h>.

Update #3598.
2018-12-07 14:22:01 +01:00
Sebastian Huber eaa5ea84ea score: Introduce <rtems/score/heapinfo.h>
Move Heap_Information_block to separate header file to hide heap
implementation details from <rtems.h>.

Update #3598.
2018-11-26 07:51:57 +01:00
Sebastian Huber 963c6c2ac4 score: Move internal structures to userextdata.h
Update #3598.
2018-11-12 13:25:42 +01:00
Sebastian Huber a6e7d5e492 score: Move internal structures to objectdata.h
Update #3598.
2018-11-12 13:25:42 +01:00
Sebastian Huber ccc6695c84 score: Introduce <rtems/score/watchdogticks.h>
Separate the definitions related to watchdog ticks from the watchdog
structures.

Update #3598.
2018-11-12 13:25:41 +01:00
Sebastian Huber 742d6db125 score: Remove empty <rtems/score/tod.h>
Update #3598.
2018-11-12 13:25:41 +01:00