| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change the meaning of the compare result to simplify comparison of
integer keys.
|
|
|
|
|
|
|
|
|
| |
Adds to confdefs a way to specify rtems_resource_unlimited for classic and
posix objects using a new macro CONFIGURE_OBJECTS_UNLIMITED.
Use CONFIGURE_OBJECTS_ALLOCATION_SIZE to declare the allocation size for
extending the set of objects at runtime. Updates the unlimited sample
to demonstrate how to use the new macros. Also adds new documentation in
the C User's Manual regarding configuring with unlimited objects.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
New functions
o rtems_blkdev_create(), and
o rtems_blkdev_create_partition().
New test libtests/block11.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functions
o rtems_bdbuf_get(),
o rtems_bdbuf_read(),
o rtems_bdbuf_syncdev(), and
o rtems_bdbuf_purge_dev(),
use now the disk device instead of the device identifier. This makes
bdbuf independent of rtems_disk_obtain() and rtems_disk_release(). It
is the responsiblity of the file system to obtain the disk device. This
also reduces the overhead to get a buffer.
The key for the AVL tree uses now the disk device instead of the device
identifier. The pointer is interpreted as an unsigned integer. This
reduces the memory overhead and makes the comparison operation a bit
faster.
Removed function rtems_bdbuf_purge_major(). This function was too
destructive and could have unpredictable side effects.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generic nodes are an alternative to standard drivers in RTEMS. The
handlers of a generic node are called with less overhead compared to the
standard driver operations. The usage of file system node handlers
enable more features like support for fsync() and fdatasync(). The
generic nodes use the reference counting of the IMFS. This provides
automatic node destruction when the last reference vanishes.
Extend type IMFS_types_union by new type IMFS_generic_t.
Extend enum IMFS_jnode_types_t by IMFS_GENERIC.
Add functions
o IMFS_make_generic_node(),
o IMFS_is_imfs_instance(),
o IMFS_generic_get_context_by_node(),
o IMFS_generic_get_context_by_location(), and
o IMFS_generic_get_context_by_iop().
New test fstests/fsimfsgeneric01.
|
|
|
|
|
| |
Allow creation of nodes with an unsupported type. Later the usage of
such nodes will return an error status.
|
|
|
|
|
|
|
| |
o Make sure EROFS is indicated for write operations on a read-only file
system.
o Add error indication for read-only file systems in fchmod() and
fchown() according to POSIX.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* support/src/spin.c: Include "test_support.h".
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* psxtmmq01/init.c: Make benchmark_mq_open,
benchmark_mq_open_second, benchmark_mq_close,
benchmark_mq_close_second, benchmark_mq_unlink, benchmark_mq_notify,
benchmark_mq_send, benchmark_mq_receive, benchmark_mq_timedsend,
benchmark_mq_timedreceive static.
* psxtmmutex01/init.c: Make test_mutex_create, test_mutex_destroy
static.
* psxtmsem02/init.c: benchmark_sem_getvalue, benchmark_sem_wait,
benchmark_sem_post, benchmark_sem_trywait_available,
benchmark_sem_trywait_not_available static.
|
| |
|
|
|
|
|
| |
* pppd/system.h: Add pppdapp_initialize.
* pppd/init.c: Remove pppdapp_initialize.
|
|
|
|
|
|
| |
* nsecs/system.h: New (Split out from nsecs/init.c).
* nsecs/init.c: Reflect nsecs/system.h having been split out.
* nsecs/empty.c: Include "system.h".
|
|
|
|
|
|
| |
Replaced Allocate_majority_of_workspace() with
rtems_workspace_allocate(). Replaced Allocate_majority_of_heap() with
rtems_heap_greedy_allocate().
|
| |
|
|
|
|
|
|
| |
o Due to the usual integer propagation rules care must be taken in case
off_t is involved.
o Use the effective UID and GID consistently.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* termios01/init.c: Update due to API changes. Fixed integer types.
Make functions static. Added const qualifier.
|
|
|
|
| |
* psxconfig01/init.c: Create floating point tasks.
|
|
|
|
|
|
| |
* math/init.c, mathf/init.c, mathl/init.c: Move configuration section.
* math/domath.c, mathf/domathf.c, mathl/domathl.c: Regenerate.
* math/domath.in: Generate domath* prototype.
|
|
|
|
|
|
| |
* complex/init.c: Move configuration section.
* complex/docomplex.c, complex/docomplexf.c, complex/docomplexl.c:
Regenerate.
|
|
|
|
| |
* psxmsgq04/init.c: Fixed allocation of second message queue.
|
|
|
|
| |
* complex/docomplex.in: Generate prototype docomplex* prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* psxtmbarrier01/init.c: Make benchmark_pthread_barrier_init,
benchmark_pthread_barrier_destroy static.
* psxtmkey01/init.c: Make benchmark_pthread_key_create,
benchmark_pthread_key_delete static.
* psxtmrwlock01/init.c: Make benchmark_pthread_rwlock_init,
benchmark_pthread_rwlock_rdlock, benchmark_pthread_rwlock_unlock,
benchmark_pthread_rwlock_tryrdlock,
benchmark_pthread_rwlock_timedrdlock,
benchmark_pthread_rwlock_wrlock,
benchmark_pthread_rwlock_trywrlock,
benchmark_pthread_rwlock_timedwrlock,
benchmark_pthread_rwlock_destroy static.
* psxtmsem01/init.c: Make benchmark_sem_init,
benchmark_sem_destroy, benchmark_sem_open, benchmark_sem_close,
benchmark_sem_unlink, benchmark_sem_open_second,
benchmark_sem_close_second static.
* psxtmthread01/init.c: Make benchmark_pthread_create static.
|
|
|
|
| |
* psxconfig01/init.c: Create more objects.
|
|
|
|
|
| |
* sp31/task1.c: Make Do_nothing static.
* sprbtree01/init.c: Make test_compare_function, rb_assert static.
|
|
|
|
|
| |
* tm30/init.c: Make benchmark_barrier_create,
benchmark_barrier_ident, benchmark_barrier_delete static.
|
|
|
|
| |
* psx07/init.c: Remove unused var "clock_allowed".
|
|
|
|
|
|
|
|
| |
* fileio/init.c: Comment out setup_nvdisk (Unused).
Make shell_nvdisk_trace, shell_nvdisk_erase, shell_bdbuf_trace,
disk_test_set_block_size, disk_test_write_blocks, disk_test_block_sizes,
parse_size_arg, create_ramdisk, create_nvdisk static.
* nsecs/init.c: Make my_ctime, subtract_em static.
|
|
|
|
|
|
|
|
| |
* configure.ac: Check for getrusage decl.
* psxgetrusage01/init.c:
Fix header file inclusion order.
Move configuration section up.
Apply HAVE_DECL_GETRUSAGE.
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Add support/include/tmtests_empty_function.h.
* support/include/tmtests_empty_function.h: New.
* support/src/tmtests_empty_function.c,
support/src/tmtests_support.c:
Include "tmtests_empty_function.h".
Remove local decls (Missing prototypes).
|
|
|
|
| |
* spwkspace/init.c: Test _Workspace_String_duplicate().
|
|
|
|
| |
* imfs_support/fs_supprot.h: Remove (Unused).
|
|
|
|
| |
* Makefile.am: Add support/include/tmtests_empty_function.h.
|
|
|
|
|
|
|
|
| |
* support/include/tmtests_empty_function.h: New.
* support/src/tmtests_empty_function.c,
support/src/tmtests_support.c:
Include "tmtests_empty_function.h".
Remove local decls (Missing prototypes).
|
|
|
|
| |
* psxconfig01/init.c: Fix due to alignment issue.
|
|
|
|
|
|
| |
* psxconfig01/.cvsignore, psxconfig01/Makefile.am, psxconfig01/init.c,
psxconfig01/psxconfig01.doc, psxconfig01/psxconfig01.scn: New files.
* Makefile.am, configure.ac: Reflect changes above.
|
|
|
|
|
| |
* ftp01/Makefile.am:
Re-add ftpd01_LDADD (Fix breakage introduced by previous patch).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1589/build
* tm01/Makefile.am, tm02/Makefile.am, tm03/Makefile.am,
tm04/Makefile.am, tm05/Makefile.am, tm06/Makefile.am,
tm07/Makefile.am, tm08/Makefile.am, tm09/Makefile.am,
tm10/Makefile.am, tm11/Makefile.am, tm12/Makefile.am,
tm13/Makefile.am, tm14/Makefile.am, tm15/Makefile.am,
tm16/Makefile.am, tm17/Makefile.am, tm18/Makefile.am,
tm19/Makefile.am, tm20/Makefile.am, tm21/Makefile.am,
tm22/Makefile.am, tm23/Makefile.am, tm24/Makefile.am,
tm25/Makefile.am, tm26/Makefile.am, tm27/Makefile.am,
tm28/Makefile.am, tm29/Makefile.am, tm30/Makefile.am,
tmck/Makefile.am, tmoverhd/Makefile.am: Remove obsolete optional
manager capability.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 1589/build
* smp01/Makefile.am, smp02/Makefile.am, smp03/Makefile.am,
smp04/Makefile.am, smp05/Makefile.am, smp06/Makefile.am,
smp07/Makefile.am, smp08/Makefile.am, smp09/Makefile.am: Remove
obsolete optional manager capability.
|
|
|
|
|
|
|
|
|
|
| |
PR 1589/build
* base_mp/node1/Makefile.am, base_mp/node2/Makefile.am,
base_sp/Makefile.am, capture/Makefile.am, cdtest/Makefile.am,
fileio/Makefile.am, hello/Makefile.am, iostream/Makefile.am,
loopback/Makefile.am, minimum/Makefile.am, nsecs/Makefile.am,
paranoia/Makefile.am, pppd/Makefile.am, ticker/Makefile.am,
unlimited/Makefile.am: Remove obsolete optional manager capability.
|