| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
|
|
|
|
|
|
|
|
| |
LINK_OBJS =
instead of
LINK_OBJS = $(mp01_node1_OBJECTS)
|
|
|
|
|
|
|
|
| |
LINK_OBJS =
instead of
LINK_OBJS = $(mp01_node1_OBJECTS)
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The file header was moved over one space. These two were the only
files in the testsuite which did this.
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
In the Red-Black Tree Heap the administration data structures are not
contained in the managed memory area. This can be used for example in a
task stack allocator which protects the task stacks from access by other
tasks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
|
| |
o Move rtems_bsdnet_fdToSocket() and rtems_bsdnet_makeFdForSocket() to
"cpukit/libnetworking/rtems/rtems_syscall.c".
o The rtems_bsdnet_makeFdForSocket() function is now static.
o Check in rtems_bsdnet_fdToSocket() function that the file descriptor
uses the socket handlers, otherwise an error status will be returned
and errno set to ENOTSOCK.
o New test libtests/syscall01.
|
|
|
|
|
| |
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.
|
| |
|