| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #3409.
|
|
|
|
|
|
|
|
| |
It tests the (never really working) strict order mutex option. That
option does not exist any more. Mutexes by other good means (spmutex01,
spsem*).
Update #3406.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3382.
|
|
|
|
|
|
| |
This change is part of the testsuite Makefile.am reorganization.
Update #3382
|
|
|
|
| |
Update #3325.
|
|
|
|
| |
Do not use fprintf() in non-fp tasks.
|
|
|
|
| |
Close #3320.
|
|
|
|
| |
Update #3319.
|
| |
|
|
|
|
| |
Update #2843.
|
|
|
|
| |
Update #2840.
|
|
|
|
| |
Update #2843.
|
|
|
|
|
|
|
|
| |
Rename PER_CPU_WATCHDOG_MONOTONIC to PER_CPU_WATCHDOG_TICKS. Add new
PER_CPU_WATCHDOG_MONOTONIC which is based on the system uptime (measured
by timecounter).
Close #3264.
|
|
|
|
|
|
|
| |
Avoid unnecessary lock acquire/release operations. Get realtime via
timecounter only if necessary.
Update #3264.
|
|
|
|
|
|
|
| |
Due to structure internal padding the use of memcmp() may lead to
sporadic test failures.
Update #3082.
|
|
|
|
|
|
|
|
|
|
| |
There were two issues:
1. The buffer size must be divisible by 8 on 64-bit targets
2. It must be large enough to service the begin of start message.
Update #3082.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This test uses sprintf().
|
|
|
|
| |
Updates #3000.
|
|
|
|
| |
This ensures that the configured semaphore maximum is not exceeded.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use a self-contained recursive mutex for API_Mutex_Control. The API
mutexes are protected against asynchronous thread cancellation.
Add dedicated mutexes for libatomic and TOD.
Close #2629.
Close #2630.
|
|
|
|
| |
Update #3082.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous rtems_panic() implementation was quite heavy weight. It
depended on _exit() which calls the global destructors. It used
fprintf(stderr, ...) for output which depends on an initialized console
device and the complex fprintf().
Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic()
and output via vprintk().
Update #3244.
|
|
|
|
| |
Update #3243.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thread priority changes may append or prepend the thread to its priority
group on the scheduler ready queue. Previously, a separate priority
value and a prepend-it flag in the scheduler node were used to propagate
a priority change to the scheduler.
Now, use an append-it bit in the priority control and reduce the plain
priority value to 63 bits.
This change leads to a significant code size reduction (about 25%) of
the SMP schedulers. The negligible increase of the standard priority
scheduler is due to some additional shift operations
(SCHEDULER_PRIORITY_MAP() and SCHEDULER_PRIORITY_UNMAP()).
Before:
text filename
136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o
464 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o
24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o
108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o
292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o
264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o
text filename
280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o
488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o
164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o
328 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o
text filename
24112 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
37204 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
42236 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o
After:
text filename
136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o
272 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o
24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o
108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o
292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o
264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o
text filename
280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o
488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o
208 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o
164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o
332 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o
text filename
18860 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
28520 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
32664 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o
|
|
|
|
|
|
|
| |
Add a default implementation of _arc4random_getentropy_fail with an
internal error.
Update #3239.
|
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
|
|
| |
The _Semaphore_Get_operations() must return the proper operations for
priority inheritance semaphores.
Add a test case for rtems_semaphore_flush() with priority inheritance.
Close #3235.
|
|
|
|
|
|
|
|
|
| |
- Remove the macro defines and the need for tmacro.h by remapping the
symbols using ld's wrap option.
- Remove FLUSH_OUTPUT, it was empty.
- Move rtems_test_exit to libmisc/testsupport as a function.
Update #3199.
|
|
|
|
|
|
| |
Add a tests enum and move all test banner test to the library in libmisc.
Update #3199.
|
|
|
|
|
|
|
|
| |
Provide functions to get the version string, major, minor and revision
numbers and the version control identifer that is a unique tag for
the version control system.
Update #3199.
|
| |
|
|
|
|
|
|
| |
Change the chain order relation to use a directly specified left hand
side value. This is similar to _RBTree_Insert_inline() and helps the
compiler to better optimize the code.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous vprintk() implementation had a questionable licence header,
lacks support for the 'z' and 'j' format specifiers, is not robust
against invalid format specifiers, uses a global variable for output.
Replace it with a stripped down version of the FreeBSD kernel kvprintf()
function.
The new implementation allows a low overhead rtems_snprintf() if
necessary.
Update #3199.
Close #3216.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
| |
Statically initialize it to use printk().
Update #3170.
Update #3199.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add macro implementation for rtems_clock_get_ticks_per_second() for
C/C++ to avoid the function call overhead. A
rtems_clock_get_ticks_per_second() is still provided for language
bindings (e.g. Ada).
|
|
|
|
|
|
|
| |
Move it from the configuration to a separate variable.
Update #3117.
Update #3182.
|
|
|
|
|
| |
Update #3117.
Update #3182.
|