| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
|
|
|
|
|
|
|
|
| |
The per file descriptor semaphore (field of rtems_libio_t) is unused in
RTEMS. There is a considerable memory overhead due to that. A
semaphore needs roughly 124 bytes which is huge compared to the
approximately 72 bytes for the file descriptor structure itself. Device
drivers can create their own synchronization primitives in the open
handler on demand.
|
| |
|
|
|
|
| |
Date and ownership determined from file history.
|
| |
|
|
|
|
| |
Add the lipqos and sptest.
|
|
|
|
|
|
|
| |
Since the CBS scheduler is inspired by AQuoSA project for Linux, additional API
(qreslib) compliant with Linux has been created.
Sptest for qreslib included.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New functions
o _RBTree_Next_unprotected(),
o _RBTree_Next(),
o _RBTree_Successor_unprotected(),
o _RBTree_Predecessor_unprotected(),
o rtems_rbtree_successor_unprotected(), and
o rtems_rbtree_predecessor_unprotected().
Change prototype of
o _RBTree_Successor(),
o _RBTree_Predecessor(),
o rtems_rbtree_successor(), and
o rtems_rbtree_predecessor().
|
|
|
|
|
| |
Change the meaning of the compare result to simplify comparison of
integer keys.
|
|
|
|
|
| |
Allow creation of nodes with an unsupported type. Later the usage of
such nodes will return an error status.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o A new data structure rtems_filesystem_global_location_t was
introduced to be used for
o the mount point location in the mount table entry,
o the file system root location in the mount table entry,
o the root directory location in the user environment, and
o the current directory location in the user environment.
During the path evaluation global start locations are obtained to
ensure that the current file system instance will be not unmounted in
the meantime.
o The user environment uses now reference counting and is protected
from concurrent access.
o The path evaluation process was completely rewritten and simplified.
The IMFS, RFS, NFS, and DOSFS use now a generic path evaluation
method. Recursive calls in the path evaluation have been replaced
with iteration to avoid stack overflows. Only the evaluation of
symbolic links is recursive. No dynamic memory allocations and
intermediate buffers are used in the high level path evaluation. No
global locks are held during the file system instance specific path
evaluation process.
o Recursive symbolic link evaluation is now limited by
RTEMS_FILESYSTEM_SYMLOOP_MAX. Applications can retrieve this value
via sysconf().
o The device file system (devFS) uses now no global variables and
allocation from the workspace. Node names are allocated from the
heap.
o The upper layer lseek() performs now some parameter checks.
o The upper layer ftruncate() performs now some parameter checks.
o unmask() is now restricted to the RWX flags and protected from
concurrent access.
o The fchmod_h and rmnod_h file system node handlers are now a file
system operation.
o The unlink_h operation has been removed. All nodes are now destroyed
with the rmnod_h operation.
o New lock_h, unlock_h, clonenod_h, and are_nodes_equal_h file system
operations.
o The path evaluation and file system operations are now protected by
per file system instance lock and unlock operations.
o Fix and test file descriptor duplicate in fcntl().
o New test fstests/fsnofs01.
|
|
|
|
|
|
|
| |
The tests for the rtems_rbtree_predecessor/successor check for a
range of values for the target id of the predecessor/successor
when we know the exact expected value. This commit makes the
test more precise.
|
|
|
|
|
|
| |
Replaced Allocate_majority_of_workspace() with
rtems_workspace_allocate(). Replaced Allocate_majority_of_heap() with
rtems_heap_greedy_allocate().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This PR was about a warning for no previous prototype for
rtems_interrupt_level_attribute. This method exists (like
a few others) to have real bodies for Classic API services
implemented as macros. These macros are not available from
anything but C and C++. The most explicit use was in the Ada
binding but these would be needed from assembly language
or any other non-C based language.
On top of needing a prototype, the methods were misnamed.
They were related to modes. This renames them, moves the
file, fixes test code, etc.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
PR 1924/cpukit
* spstkalloc02/.cvsignore, spstkalloc02/Makefile.am,
spstkalloc02/init.c, spstkalloc02/spstkalloc02.doc,
spstkalloc02/spstkalloc02.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
| |
* sp31/task1.c: Make Do_nothing static.
* sprbtree01/init.c: Make test_compare_function, rb_assert static.
|
|
|
|
| |
* spwkspace/init.c: Test _Workspace_String_duplicate().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1589/build
* sp01/Makefile.am, sp02/Makefile.am, sp03/Makefile.am,
sp04/Makefile.am, sp05/Makefile.am, sp06/Makefile.am,
sp07/Makefile.am, sp08/Makefile.am, sp09/Makefile.am,
sp10/Makefile.am, sp11/Makefile.am, sp12/Makefile.am,
sp13/Makefile.am, sp14/Makefile.am, sp15/Makefile.am,
sp16/Makefile.am, sp17/Makefile.am, sp18/Makefile.am,
sp19/Makefile.am, sp20/Makefile.am, sp2038/Makefile.am,
sp21/Makefile.am, sp22/Makefile.am, sp23/Makefile.am,
sp24/Makefile.am, sp25/Makefile.am, sp26/Makefile.am,
sp27/Makefile.am, sp27a/Makefile.am, sp28/Makefile.am,
sp29/Makefile.am, sp30/Makefile.am, sp31/Makefile.am,
sp32/Makefile.am, sp33/Makefile.am, sp34/Makefile.am,
sp35/Makefile.am, sp36/Makefile.am, sp37/Makefile.am,
sp38/Makefile.am, sp39/Makefile.am, sp40/Makefile.am,
sp41/Makefile.am, sp42/Makefile.am, sp43/Makefile.am,
sp44/Makefile.am, sp45/Makefile.am, sp46/Makefile.am,
sp47/Makefile.am, sp48/Makefile.am, sp49/Makefile.am,
sp50/Makefile.am, sp51/Makefile.am, sp52/Makefile.am,
sp53/Makefile.am, sp54/Makefile.am, sp55/Makefile.am,
sp56/Makefile.am, sp57/Makefile.am, sp58/Makefile.am,
sp59/Makefile.am, sp60/Makefile.am, sp62/Makefile.am,
sp63/Makefile.am, sp64/Makefile.am, sp65/Makefile.am,
sp66/Makefile.am, sp67/Makefile.am, sp68/Makefile.am,
sp69/Makefile.am, sp70/Makefile.am, sp71/Makefile.am,
sp72/Makefile.am, sp73/Makefile.am, sp74/Makefile.am,
sp75/Makefile.am, sp76/Makefile.am, spassoc01/Makefile.am,
spcbssched01/Makefile.am, spcbssched02/Makefile.am,
spcbssched03/Makefile.am, spchain/Makefile.am,
spclockget/Makefile.am, spcoverage/Makefile.am,
spedfsched01/Makefile.am, spedfsched02/Makefile.am,
spedfsched03/Makefile.am, sperror01/Makefile.am,
sperror02/Makefile.am, sperror03/Makefile.am, spfatal01/Makefile.am,
spfatal02/Makefile.am, spfatal03/Makefile.am, spfatal04/Makefile.am,
spfatal05/Makefile.am, spfatal06/Makefile.am, spfatal07/Makefile.am,
spfatal08/Makefile.am, spfatal09/Makefile.am, spfatal10/Makefile.am,
spfatal11/Makefile.am, spfatal12/Makefile.am, spfatal13/Makefile.am,
spfatal14/Makefile.am, spfatal15/Makefile.am, spfatal16/Makefile.am,
spfatal17/Makefile.am, spfatal18/Makefile.am, spfatal19/Makefile.am,
spfatal20/Makefile.am, spfatal21/Makefile.am, spfatal22/Makefile.am,
spfatal23/Makefile.am, spfatal24/Makefile.am, spfatal25/Makefile.am,
spfifo01/Makefile.am, spfifo02/Makefile.am, spfifo03/Makefile.am,
spfifo04/Makefile.am, spfifo05/Makefile.am, spheapprot/Makefile.am,
spintrcritical01/Makefile.am, spintrcritical02/Makefile.am,
spintrcritical03/Makefile.am, spintrcritical04/Makefile.am,
spintrcritical05/Makefile.am, spintrcritical06/Makefile.am,
spintrcritical07/Makefile.am, spintrcritical08/Makefile.am,
spintrcritical09/Makefile.am, spintrcritical10/Makefile.am,
spintrcritical11/Makefile.am, spintrcritical12/Makefile.am,
spintrcritical13/Makefile.am, spintrcritical14/Makefile.am,
spintrcritical15/Makefile.am, spintrcritical16/Makefile.am,
spintrcritical17/Makefile.am, spmkdir/Makefile.am,
spmountmgr01/Makefile.am, spnotepad01/Makefile.am,
spnsext01/Makefile.am, spobjgetnext/Makefile.am,
spprintk/Makefile.am, spprivenv01/Makefile.am,
sprbtree01/Makefile.am, spsimplesched01/Makefile.am,
spsimplesched02/Makefile.am, spsimplesched03/Makefile.am,
spsize/Makefile.am, spstkalloc/Makefile.am, spthreadq01/Makefile.am,
spwatchdog/Makefile.am, spwkspace/Makefile.am: Remove obsolete
optional manager capability.
|
|
|
|
|
| |
PR 1980/testing
* spedfsched02/task1.c, spedfsched02/init.c: Fixed initialization.
|
|
|
|
|
|
| |
PR 1964
* spchain/init.c, spchain/spchain.scn: Add testcases for chain is first
and last
|
|
|
|
|
|
| |
PR 1924/cpukit
* sptests/spfatal08/testcase.h, sptests/spfatal12/testcase.h: Update
due to API changes.
|
|
|
|
| |
* sp2038/.cvsignore: New file.
|
| |
|
|
|
|
|
|
|
| |
PR 1922
* spcbssched02/system.h, spcbssched03/system.h, spedfsched02/system.h,
spedfsched02/task1.c, spedfsched03/system.h: EDF and CBS scheduler:
extern declarations fix.
|
|
|
|
|
| |
* sp50/init.c, spclockget/init.c: Include "pritime.h".
Use PRIdtime_t to print time_t.
|
|
|
|
| |
* configure.ac: Check for size of time_t.
|
|
|
|
|
|
|
|
|
|
|
| |
* sp75/init.c, spcbssched01/init.c, spcbssched01/task1.c
spcbssched02/init.c, spcbssched02/task_periodic.c,
spcbssched03/init.c, spcbssched03/tasks_aperiodic.c,
spcbssched03/tasks_periodic.c, spedfsched01/init.c,
spedfsched01/task1.c, spedfsched02/getall.c, spedfsched02/init.c,
spedfsched02/task1.c, spedfsched03/init.c,
spedfsched03/tasks_aperiodic.c, spedfsched03/tasks_periodic.c,
sprbtree01/init.c: Add HAVE_CONFIG_H.
|
|
|
|
| |
* sp2038/init.c: More test cases.
|
|
|
|
|
|
| |
* sp2038/Makefile.am, sp2038/init.c, sp2038/sp2038.doc,
sp2038/sp2038.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
| |
* spfatal07/testcase.h: Print end of test if test is not applicable.
|
|
|
|
|
|
|
| |
PR 1923/testing
* spcbssched02/spcbssched02.scn, spcbssched02/system.h,
spcbssched03/init.c, spcbssched03/system.h, spedfsched02/system.h,
spedfsched03/system.h, sprbtree01/init.c: Improve coverage.
|
|
|
|
|
|
|
|
| |
PR 1916/testing
* spcbssched02/init.c, spcbssched02/spcbssched02.scn,
spcbssched02/system.h, spcbssched02/task_periodic.c,
spedfsched03/init.c, spedfsched03/system.h,
spedfsched03/tasks_aperiodic.c: Improve coverage.
|
|
|
|
|
| |
* spcbssched01/Makefile.am, spcbssched02/Makefile.am,
spcbssched03/Makefile.am: Formatting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1907/testing
* Makefile.am, configure.ac: Add tests for the CBS (Constant Bandwidth
Server) scheduler.
* spcbssched01/.cvsignore, spcbssched01/Makefile.am,
spcbssched01/init.c, spcbssched01/spcbssched01.doc,
spcbssched01/spcbssched01.scn, spcbssched01/system.h,
spcbssched01/task1.c, spcbssched02/.cvsignore,
spcbssched02/Makefile.am, spcbssched02/init.c,
spcbssched02/spcbssched02.doc, spcbssched02/spcbssched02.scn,
spcbssched02/system.h, spcbssched02/task_periodic.c,
spcbssched03/.cvsignore, spcbssched03/Makefile.am,
spcbssched03/cbsparams.h, spcbssched03/init.c,
spcbssched03/spcbssched03.doc, spcbssched03/spcbssched03.scn,
spcbssched03/system.h, spcbssched03/tasks_aperiodic.c,
spcbssched03/tasks_periodic.c: New files.
|
|
|
|
| |
* spnsext01/init.c: Use correct API.
|
|
|
|
|
| |
* spedfsched01/Makefile.am, spedfsched02/Makefile.am,
spedfsched03/Makefile.am: Use all managers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1897/testing
* Makefile.am, configure.ac: Add tests for Earliest Deadline First
(EDF) Scheduling Algorithm implementation.
* spedfsched01/.cvsignore, spedfsched01/Makefile.am,
spedfsched01/init.c, spedfsched01/spedfsched01.doc,
spedfsched01/spedfsched01.scn, spedfsched01/system.h,
spedfsched01/task1.c, spedfsched02/.cvsignore,
spedfsched02/Makefile.am, spedfsched02/getall.c, spedfsched02/init.c,
spedfsched02/spedfsched02.doc, spedfsched02/spedfsched02.scn,
spedfsched02/system.h, spedfsched02/task1.c, spedfsched03/.cvsignore,
spedfsched03/Makefile.am, spedfsched03/edfparams.h,
spedfsched03/init.c, spedfsched03/spedfsched03.doc,
spedfsched03/spedfsched03.scn, spedfsched03/system.h,
spedfsched03/tasks_aperiodic.c, spedfsched03/tasks_periodic.c: New
files.
|
|
|
|
|
| |
* sp03/sp03.scn, sp05/sp05.scn, sp23/sp23.scn, sp27/sp27.scn,
sp27a/sp27a.scn, sp39/sp39.scn: Update.
|
|
|
|
| |
* sptests/sp68/init.c: Avoid CPU_STRUCTURE_ALIGNMENT.
|
|
|
|
|
|
|
|
|
| |
* spfatal01/spfatal01.scn, spfatal02/spfatal02.scn,
spfatal13/spfatal13.scn, spfatal14/spfatal14.scn,
spfatal15/spfatal15.scn, spfatal16/spfatal16.scn,
spfatal17/spfatal17.scn, spfatal18/spfatal18.scn,
spfatal19/spfatal19.scn, spfatal20/spfatal20.scn,
spfatal_support/init.c: Print proper begin message.
|
|
|
|
| |
* sp40/init.c: Avoid unsupported test cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* spfatal13/testcase.h: Fixed test name.
* spfatal05/testcase.h: Increased wait time for slow hardware.
* spfatal_support/init.c: Print test name at end of test.
* spfatal01/spfatal01.scn, spfatal02/spfatal02.scn,
spfatal03/spfatal03.scn, spfatal04/spfatal04.scn,
spfatal05/spfatal05.scn, spfatal06/spfatal06.scn,
spfatal07/spfatal07.scn, spfatal08/spfatal08.scn,
spfatal09/spfatal09.scn, spfatal10/spfatal10.scn,
spfatal11/spfatal11.scn, spfatal12/spfatal12.scn,
spfatal13/spfatal13.scn, spfatal14/spfatal14.scn,
spfatal15/spfatal15.scn, spfatal16/spfatal16.scn,
spfatal17/spfatal17.scn, spfatal18/spfatal18.scn,
spfatal19/spfatal19.scn, spfatal20/spfatal20.scn,
spfatal21/spfatal21.scn, spfatal22/spfatal22.scn,
spfatal23/spfatal23.scn, spfatal24/spfatal24.scn,
spfatal25/spfatal25.scn: Reflect changes from above.
|
|
|
|
|
|
| |
PR 1899/testing
* spfatal14/Makefile.am: Adjust number of semaphores to consume to
trigger fatal error.
|
|
|
|
|
|
| |
PR 1899/testing
* spfatal14/Makefile.am, spfatal15/Makefile.am, spfatal16/Makefile.am:
Adjust number of semaphores to consume to trigger fatal error.
|
|
|
|
|
|
|
| |
PR 1886/cpukit
* sprbtree01/init.c, sprbtree01/sprbtree01.scn: This patch enables
inserting duplicate keys into rbtree. It is possible to turn on this
feature when initializing the tree.
|
|
|
|
|
| |
* spfatal_support/init.c: Ensure that _Thread_BSP_context is
initialized.
|
|
|
|
|
| |
PR 1883/testing
* sprbtree01/init.c: Attempt provide coverage on last two ranges.
|