| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This is in line with pthread_setschedparam() and
pthread_getschedparam().
Update #2514.
|
|
|
|
| |
This order change fixes the Latex documentation build via Doxygen.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
| |
Close #3949.
|
|
|
|
| |
Update #3949.
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a race conditon in the reference counting of file descriptors
during a close() operation. After the call to the close handler, the
rtems_libio_free() function cleared the flags to zero. However, at this
point in time there may still exist some holders of the file descriptor.
With RTEMS_DEBUG enabled this could lead to failed assertions in
rtems_libio_iop_drop().
Change the code to use only atomic read-modify-write operations on the
rtems_libio_iop::flags.
|
|
|
|
|
|
|
|
| |
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.
Update #3053.
Update #3875.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This file contained duplicate prototypes for standard POSIX functions
declared in <time.h>.
|
|
|
|
|
|
| |
Move thread stack allocation to caller side of _Thread_Initialize().
Update #3835.
|
|
|
|
|
|
|
|
|
| |
Add the Thread_Configuration structure to reduce the parameter count of
_Thread_Initialize(). This makes it easier to add more parameters in
the future. It simplifies the code generation since most architectures
do not have that many registers available for function parameters.
Update #3835.
|
|
|
|
|
|
|
|
|
|
|
| |
Use the stack area to allocate the FP context. This considerably
simplifies the application configuration since the task count no longer
influences the configured work space size. With this change the stack
space size is overestimated since an FP context for each thread is
accounted. Memory constraint applications can use the stack size for
fine tuning.
Update #3835.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two use cases were envisioned for this.
1) a BSP or application which desires to update a real-time clock
when the RTEMS TOD is set.
2) a paravirtualized BSP can use this to propagate setting the time
in an RTEMS application to the hosting environment. This enables
the entire set of applications in the virtualized environments
to have a single consistent TOD.
|
|
|
|
|
|
|
| |
This allows to use header includes in "config.h" to reduce the build
configuration checks.
Update #3818.
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ Modify POSIX thread create extension to ensure expected
initial signal mask is provided to system threads, initial
tasks and threads, and inheritied by tasks and threads.
+ Adds psxsignal07 to verify functionality when using a POSIX
Initialization thread and POSIX threads.
+ Adds psxsignal08 to verify functionality when using a Classic API
Initialization task and Classic API tasks.
Closes #3794.
|
|
|
|
|
|
| |
The use of a hand crafted lock for Per_CPU_Control::Lock was necessary
at some point in the SMP support development, but it is no longer
justified.
|
| |
|
| |
|
|
|
|
| |
Rename to use proper namespace.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The _Objects_Information_table[ the_api ] is never NULL for a valid API
index.
|
| |
|
|
|
|
| |
Closes #3694.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Statically allocate the objects information together with the initial
set of objects either via <rtems/confdefs.h>. Provide default object
informations with zero objects via librtemscpu.a. This greatly
simplifies the workspace size estimate. RTEMS applications which do not
use the unlimited objects option are easier to debug since all objects
reside now in statically allocated objects of the right types.
Close #3621.
|
|
|
|
| |
This function is untested.
|
|
|
|
|
|
|
| |
This information is already present in Objects_Information::maximum_id.
Add and use _Objects_Get_maximum_index().
Update #3621.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the maximum ID for the ID to object translation. Using the maximum
ID gets rid of an additional load from the object information in
_Objects_Get(). In addition, object lookups fail for every ID in case
the object information is cleared to zero. This makes it a bit more
robust during system startup (see new tests in spconfig02).
The local table no longer needs a NULL pointer entry at array index
zero. Adjust all the object iteration loops accordingly.
Remove Objects_Information::minimum_id since it contains only redundant
information. Add _Objects_Get_minimum_id() to get the minimum ID.
Update #3621.
|
|
|
|
|
|
| |
Use Objects_Information::name_length to store this information.
Update #3621.
|
|
|
|
| |
Username: deuteriumoxide Email: jacobshin313@gmail.com
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
|
|
| |
Use separate configuration variables to avoid false dependencies.
Update #2514.
|
|
|
|
|
|
|
|
|
| |
Enable support for string objects names unconditionally. Add const
qualifier throughout. Split _Objects_Namespace_remove() into
_Objects_Namespace_remove_u32() and _Objects_Namespace_remove_string()
to avoid an unnecessary dependency on _Workspace_Free().
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Standard C does not allow pointer operands in an integer constant
expressions. GCC issues only a -Wpedantic warning in the removed static
assertion. However, clang is pedantic by default and issues an error.
Rely on the test case instead.
|
|
|
|
|
|
|
|
|
| |
In standard C pointer operands are not allowed in integer constant
expressions. Avoid a static assertion based on an array typedef since
this could lead to warnings ("variably modified 'x' at file scope" and
"typedef 'x' locally defined but not used");
This implementation requires unique messages.
|
|
|
|
| |
This allows to build librtemscpu.a in one rush in the future.
|
|
|
|
| |
Update #3491.
|
|
|
|
|
|
|
| |
Add RTEMS_PREDICT_TRUE() and RTEMS_PREDICT_FALSE() for static branch
prediction hints.
Close #3475.
|
|
|
|
| |
Add more test cases.
|
|
|
|
|
| |
Update #3342.
Update #3343.
|
|
|
|
|
| |
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
|
|
|
|
|
|
|
| |
Use _Thread_Dispatch_direct() for operations that block the executing
thread. This ensures that we get a fatal error
(INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL) if we try to block in
an invalid context, e.g. during system start or an interrupt handler.
|
|
|
|
|
|
|
| |
This simplifies the CLOCK_MONOTONIC based time services. It is
potentially important for libbsd.
Close #3265.
|