| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes #4040.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
|
|
| |
The use of CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER does not define
anything, so remove the <rtems/btimer.h> include.
Update #3875.
|
|
|
|
|
|
|
|
|
|
| |
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and
rtems_configuration_is_smp_enabled() were added during the SMP support
development cycle as a workaround to fix some testsuite failures in SMP
configurations. All use cases were replaced with tests for specific
conditions. The configuration option and test macro were undocumented.
Close #3876.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MrsP semaphore implementation predates the addition of
self-contained synchronization objects. At this time, the potential
memory reduction was justified considering the more complex
configuration and additional use of the workspace. With the
availability of self-contained synchronization options, e.g. POSIX
mutexes, this is no longer justified. Memory constrained applications
should use the self-contained synchronization objects. Remove the
CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an
impact on applications which use SMP and a large number of scheduler
instances.
Update #3833.
|
|
|
|
| |
Use separator character '_' for all test states.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rtems_test_pause() and rtems_test_pause_and_screen_number() macros
had different implementations depending on the RTEMS_TEST_NO_PAUSE
define. This define was defined to 1 by default. The user was able to
change this via the undocumented --disable-test-no-pause configure
command line option.
Pausing tests and waiting for user input contradicts the goal of having
automated test runs. Remove this feature.
Update #3818.
|
|
|
|
| |
Update #3818.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Add rtems_scheduler_get_processor() as a replacement for
rtems_get_current_processor(). The rtems_get_current_processor() is a
bit orphaned. Adopt it by the Scheduler Manager. This is in line with
the glibc sched_getcpu() function.
Deprecate rtems_get_current_processor().
Update #3731.
|
|
|
|
|
| |
- Add a small memory test config file.
- Update the small memory PowerPC BSPs to use the new test config.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Update #3533.
|
|
|
|
|
| |
calling rtems_print_printer_fprintf_putc() results in usage of vfprintf()
which may use floating point instructions in its implementation.
|
|
|
|
|
|
|
|
|
|
|
| |
This option silences warning with automake-1.16.1 allowing us to
upgrade to that version.
This change has been tested with automake-1.12.6 and automake-1.16.1.
It seems version 1.16.1 configures slower than 1.12.6 for the same
source and BSP. The newer versions is 6 second slower.
Close #3387.
|
|
|
|
|
|
| |
This change is part of the testsuite Makefile.am reorganization.
Update #3382
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.
This has at least seven problems:
* The make preinstall step itself needs time and disk space.
* Errors in header files show up in the build tree copy. This makes it
hard for editors to open the right file to fix the error.
* There is no clear relationship between source and build tree header
files. This makes an audit of the build process difficult.
* The visibility of all header files in the build tree makes it
difficult to enforce API barriers. For example it is discouraged to
use BSP-specifics in the cpukit.
* An introduction of a new build system is difficult.
* Include paths specified by the -B option are system headers. This
may suppress warnings.
* The parallel build had sporadic failures on some hosts.
This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.
The new cpukit include directories are:
* cpukit/include
* cpukit/score/cpu/@RTEMS_CPU@/include
* cpukit/libnetworking
The new BSP include directories are:
* bsps/include
* bsps/@RTEMS_CPU@/include
* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include
There are build tree include directories for generated files.
The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.
The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.
Update #3254.
|
|
|
|
| |
Updates #3000.
|
|
|
|
|
|
|
| |
This header file contained timing overhead values which are hard to
maintain.
Update #3254.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
| |
The TEST_EXTERN is a used only by the system.h style tests and they use
CONFIGURE_INIT appropriately.
Update #3170.
Update #3199.
|
|
|
|
|
|
| |
Reduce test context size in non-SMP configurations.
Close #3200.
|
|
|
|
|
|
|
|
|
|
| |
- Remove the printf support leaving the direct printk support configured
with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf
call to printk.
- Control the test's single init for functions and global data with
TEST_INIT and not CONFIGURE_INIT. They are now separate.
Updates #3170.
|
|
|
|
|
|
|
|
| |
Update #2674.
Update #3112.
Update #3113.
Update #3114.
Update #3115.
|
|
|
|
|
| |
It is getting harder to prevent the compiler from optimizing away the
recursive function calls.
|
|
|
|
|
|
|
|
|
|
|
| |
Do not use the processor count to determine if SMP is enabled. Instead
use a dedicated configuration option. Enable SMP by default in SMP
configurations.
Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail
otherwise.
Update #3001.
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the SMP configuration by default in case SMP is enabled. Add
configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it
explicitly.
Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail
otherwise.
Update #3001.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
errors.
- Add a top level test configuration file for test states that are common
to all BSPs. This saves adding a test configuration (tcfg) file for
every BSP.
- Add the test states 'user-input' and 'benchmark'. This
lets 'rtems-test' stop the test rather than waiting for a timeout or
letting a benchmark run without the user asking for it to run.
- Implement rtems-test-check in Python to make it faster. The shell script
had grown to a point it was noticably slowing the build down.
- Fix the configure.ac and Makefile.am files for a number of the
test directories. The files are difficiult to keep in sync with the
number of tests and mistakes can happen such as tests being left
out of the build. The test fsrofs01 is an example. Also a there was
a mix of SUBDIRS and _SUBDIRS being used and only _SUBDIRS should be
used.
- Fix the test fsrofs01 so it compiles.
Closes #2963.
|
|
|
|
|
|
|
| |
Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS
since the SMP part is superfluous.
Update #2894.
|
|
|
|
|
|
| |
Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1.
Update #2893.
|
|
|
|
|
|
|
|
| |
Add _CPU_Get_current_per_CPU_control() on SMP configurations. Use SPRG0
for the current per-CPU control. This reduces the code size by three
instructions and is slightly faster.
Update #2805.
|
|
|
|
|
|
|
|
|
| |
The SMP ticket lock release turned out to be suitable for inlining, e.g.
a hand full of instructions, no branches.
The changes in the screen files do not reflect the changes due to this
commit. However, they are now up to date. Obtained on a T4240 running
at 1.5GHz using GCC 7.0.0 20161108..
|
| |
|
| |
|
|
|
|
|
|
| |
Binary semaphores (not simple binary semaphores) maintain the resource
count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for
initially locked binary semaphores.
|
|
|
|
| |
Add plot script.
|
|
|
|
|
|
|
|
| |
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.
Update #2556.
|
|
|
|
|
| |
This demonstrates the effect of false cache line sharing in case of
Classic mutexes.
|
|
|
|
|
|
| |
Introduce Thread_queue_Lock_context to contain the context necessary for
thread queue lock and thread wait lock acquire/release operations to
reduce the Thread_Control size.
|
|
|
|
|
|
| |
Add _Thread_queue_Context_set_MP_callout() to simplify
_Thread_queue_Context_initialize(). This makes it possible to more
easily add additional fields to Thread_queue_Context.
|
|
|
|
|
|
|
|
| |
Drop the multiprocessing (MP) dependent callout parameter from the
thread queue extract, dequeue, flush and unblock methods. Merge this
parameter with the lock context into new structure Thread_queue_Context.
This helps to gets rid of the conditionally compiled method call
helpers.
|
|
|
|
|
| |
Uniformly use *_Get() to get an object by identifier with a lock
context.
|
|
|
|
|
|
| |
Use _Objects_Get_local() for _Semaphore_Get_interrupt_disable() to get
rid of the location parameter. Move remote object handling to semaphore
MPCI support.
|
|
|
|
|
|
| |
This is a preparation to remove the Giant lock.
Update #2555.
|