| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
In particular CPU_INTERRUPT_NUMBER_OF_VECTORS and
CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER are only used on
Simple Vectored Architectures, so do not depend on
them being defined. This disables as much as possible
that is specific to the Simple Vectored Model and
not expected to be used on architectures which use
the Programmable Interrupt Controller model for
interrupt handler vectoring.
|
|
|
|
| |
mptests did not link without this modification.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation of RBTree_Next was using an awkward construction to detect
and avoid accessing the false root of the red-black tree. To deal with the
false root, RBTree_Next was comparing node parents with the control node.
Instead the false root can be detected by checking if the grandparent of a
node exists; the grandparent of the tree's true root is NULL by definition
so the root of the tree is found while walking up the tree by checking for
the non-existence of a grandparent.
This change propagates into the predecessor/successor and iterate functions.
|
|
|
|
|
|
|
| |
When inserting to a red-black tree with duplicates the min and max pointers are
not updated properly. We need to check the key of the min/max node against the
insert node since the insert point could be the child of a node with an
identical key to the min/max node.
|
|
|
|
|
|
| |
During node extraction from a red-black tree the min and max values are updated
incorrectly. We need to use the successor/predecessor functions to find the
next/previous node when we remove the min/max from the tree.
|
| |
|
|
|
|
|
| |
Make default for rtems_rbtree functions be unprotected (preemption enabled)
unless an unprotected variant e.g. rtems_rbtree_xxx_unprotected is available.
|
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many files had an extra blank line in the license text
found in the file header. This patch removes that line.
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
*
* http://www.rtems.com/license/LICENSE.
The script that did this also turned off execute permission
when it was turned on incorrectly.
|
|
|
|
| |
Update the assert macro to the new IMFS_jnode_t.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The increase of the stack size by CPU_STACK_ALIGNMENT in
_Thread_Stack_Allocate() is disadvantageous. This may lead to a huge
over allocation for specialized stack allocators. The
CPU_STACK_ALIGNMENT is at most 16 on all current RTEMS CPU ports. The
mimimum stack size ensured by _Stack_Ensure_minimum() must be
considerable larger than this value, otherwise stack overflows will
likely occur. Thus the _Stack_Adjust_size() is also superfluous.
|
|
|
|
| |
Use UID and GID of the NFS handle for node and symbolic link creation.
|
|
|
|
|
| |
According to POSIX the read() call should return the maximum number of
bytes available for regular files.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Check the availablity of a recycle destination segment only when it is
necessary to avoid missing resycle source segment erasures.
|
|
|
|
|
|
| |
Do not use the unavailable block count as the erased blocks starvation
threshold. Use instead the block count of the largest segment. This
improves the starvation resolution gain of available blocks.
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
The new function rtems_bdbuf_set_block_size() must be used to set the
block size of a disk device. It will check if the block size is valid
and set the new fields block_to_media_block_shift and bds_per_group of
the rtems_disk_device structure. This helps to avoid complex arithmetic
operations in the block device buffer get and read path.
|
|
|
|
|
| |
Calling the bdbuf API functions in the not configured state is now a
fatal error.
|
|
|
|
| |
The transfer chain is accessed by at most one thread at a time.
|
|
|
|
| |
The chains are protected by the bdbuf cache lock.
|
|
|
|
|
|
|
|
|
|
| |
New macros
o _Objects_Maximum_per_allocation(),
o rtems_resource_is_unlimited(), and
o rtems_resource_maximum_per_allocation().
New function
o _Objects_Is_unlimited().
|
|
|
|
|
|
| |
Add
o _Nios2_MPU_Get_region_descriptor(), and
o _Nios2_MPU_Set_region_registers().
|
| |
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
| |
Add and use function _ARMV7M_Set_exception_priority_and_handler(). Use
ARMV7M_EXCEPTION_PRIORITY_LOWEST define.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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 ioctl_return type of rtems_libio_ioctl_args_t to match the
ioctl() return value type.
|
| |
|