| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ libbsp/sparc/shared/include/pci.h was largely a copy of
an older version of the cpukit pci.h. Removed much of the
contents and included <rtems/pci.h>.
+ sparc/*/pci*.c - Move to <rtems/pci.h> required updating
to use uint32_t for dword accesses.
+ Rename PCI_MULTI_FUNCTION to PCI_HEADER_TYPE_MULTI_FUNCTION
+ Define PCI_HEADER_TYPE_MULTI_FUNCTION in cpukit pci.h and remove
PCI_MULTI_FUNCTION definitions in C files.
+ Move PCI_INVALID_VENDORDEVICEID definitions from various C files
to cpukit pci.h
|
|
|
|
|
|
|
|
| |
All constants that should have been in cpukit pci.h were moved there.
One naming style was corrected. This impacted if_wm.c.
All other contents were the same as powerpc/shared/pci.h so BSP
specific pci.h could be eliminated.
|
| |
|
|
|
|
|
|
|
|
| |
The header file <rtems/malloc.h> provides now also the malloc_walk()
prototype.
The malloc_walk() prototype reflects now the _Protected_heap_Walk() API.
The return status helps to print only in case of an error.
|
| |
|
|
|
|
|
|
| |
The pathconf_limits_and_options field of
rtems_filesystem_mount_table_entry_t is now a const pointer to reduce
the read-write memory demands of file system instances.
|
|
|
|
|
|
|
|
|
|
|
| |
The scope of the file system operations is the file system instance.
The scope of the file system node handlers is the file location. The
benefit of moving the operations to the mount table entry is a size
reduction of the file location (rtems_filesystem_location_info_t). The
code size is slightly increased due to additional load instructions.
Restructure rtems_filesystem_mount_table_entry_t to improve cache
efficiency.
|
| |
|
|
|
|
|
|
|
| |
It is now the responsibility of the read() and write() handler to update
the offset field of the IO descriptor (rtems_libio_t). This change
makes it possible to protect the IO descriptor from concurrent access by
per file locks.
|
|
|
|
|
| |
The device IO file system support in IMFS, devFS, and RFS uses now a
shared implementation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Save the return value from the unprotected version and return it after
enabling interrupts to their previous level.
|
|
|
|
|
|
| |
These modifications were required by hand after running the script.
In some cases, the file names did not match patterns. In others,
the format of the file did not match any common patterns.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fat_file_datasync() read every cluster of the file into the cache
and then synchronized it step-by-step. For unmodified buffers this is a
non-operation. For modified buffers this will wake-up the swapout task
which performs then a single buffer write operation. This is usually
quite inefficient. Firstly we do single buffer writes, secondly we
may perform a lot of unnecessary read operations (for huge files this is
really bad), and thirdly this leads likely to cache evictions.
The synchronization procedure is replaced by a simple
rtems_bdbuf_sync_dev(). This has the side-effect that also buffers not
related to the file are synchronized, but since the modified list is
normally short this should be acceptable.
|
| |
|
|
|
|
|
| |
Space that grows due to truncate or write offsets beyond the current
file size must be zero filled.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to POSIX the lseek() function shall not, by itself, extend the
size of a file.
Remove the size field of rtems_libio_t. A file has only one size but
may have multiple open file descriptors. Thus a file size field in the
file descriptor may lead to inconsistencies.
New default handlers rtems_filesystem_default_lseek_file() and
rtems_filesystem_default_lseek_directory().
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|