Commit Graph

7180 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq
7aba2ea4a8 network/dhcp: PR1841: Fix DNS processing in DHCP 2012-05-22 14:47:15 +02:00
Joel Sherrill
8bbf69e6e6 pci.h cleanup - Consolidate common defines to cpukit pci.h
+ 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
2012-05-16 16:11:44 -05:00
Joel Sherrill
1364701915 mvme5500 and cpukit pci.h - Eliminate mvme5500 specific 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.
2012-05-16 16:11:44 -05:00
Sebastian Huber
ca764e66ea nfsclient: Fix symbolic link evaluation 2012-05-16 12:40:21 +02:00
Sebastian Huber
502629707d libcsupport: Adjust malloc_walk() prototype
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.
2012-05-16 12:38:21 +02:00
Sebastian Huber
e37ed99c99 Filesystem: Add missing include file <stdint.h> 2012-05-15 16:27:51 +02:00
Sebastian Huber
0a95800a58 Filesystem: Change pathconf_limits_and_options
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.
2012-05-15 10:37:00 +02:00
Sebastian Huber
da154e14f6 Filesystem: Move operations to mount table entry
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.
2012-05-15 10:01:43 +02:00
Sebastian Huber
7666afc97a Filesystem: Add const qualifier to lock/unlock 2012-05-15 10:01:43 +02:00
Sebastian Huber
53da07e436 Filesystem: PR1255: Move offset update to handlers
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.
2012-05-15 10:01:42 +02:00
Sebastian Huber
fed66f9910 Filesystem: Add shared device IO support
The device IO file system support in IMFS, devFS, and RFS uses now a
shared implementation.
2012-05-15 10:01:42 +02:00
Sebastian Huber
df01da6707 Filesystem: Use ioctl_command_t 2012-05-15 10:01:42 +02:00
Sebastian Huber
a1c6b96ac7 rfs: Fix major and minor number integer types 2012-05-15 10:01:42 +02:00
Sebastian Huber
3c462734ba libblock: Fix purge device tree traversal 2012-05-14 16:57:59 +02:00
Sebastian Huber
fce1169de0 dosfs: Remove unused parameter 2012-05-14 16:57:59 +02:00
Sebastian Huber
29192481a8 devfs: C++ compatibility 2012-05-14 16:57:59 +02:00
Sebastian Huber
52c0db28a1 Filesystem: Remove duplicate prototype 2012-05-14 16:57:58 +02:00
Gedare Bloom
2b36355b44 PR2065: RBTree: Insert function (protected) does not enable interrupts
Save the return value from the unprotected version and return it after
enabling interrupts to their previous level.
2012-05-13 10:40:10 -04:00
Joel Sherrill
65c6425de9 Remove CVS Id Strings (manual edits after script)
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.
2012-05-11 08:44:14 -05:00
Joel Sherrill
ae55da7232 cpukit/aclocal - Fix one mistake by script 2012-05-11 08:44:14 -05:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
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.
2012-05-11 08:44:13 -05:00
Sebastian Huber
86ef0df976 dosfs: Remove fat_file_datasync()
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.
2012-05-11 13:58:43 +02:00
Sebastian Huber
84ab4fce24 libblock: Add RTEMS_BLKIO_PURGEDEV 2012-05-11 13:58:43 +02:00
Sebastian Huber
3d0c96c7f3 Filesystem: PR1893: Fix write and truncate handler
Space that grows due to truncate or write offsets beyond the current
file size must be zero filled.
2012-05-11 13:58:43 +02:00
Sebastian Huber
d61b0a5abf Filesystem: PR1871: Fix O_APPEND 2012-05-11 13:58:43 +02:00
Sebastian Huber
30d412469c Filesystem: PR1398: Fix lseek() mechanic
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().
2012-05-11 13:58:43 +02:00
Joel Sherrill
826fa6b169 Score ISR - Minimize Capabilities When Not Simple Vectored
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.
2012-05-09 16:55:10 -05:00
Joel Sherrill
2824e63a69 Score Semaphore - Need Semaphore Seize Body When Multiprocessing is Enabled
mptests did not link without this modification.
2012-05-09 16:55:10 -05:00
Gedare Bloom
f53aa8d302 rbtree: API changes. Remove rbtree control node from RBTree_Next.
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.
2012-05-08 18:40:44 -04:00
Gedare Bloom
a41950ddfb PR2061: RBTree: updating min and max on insert with duplicates
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.
2012-05-08 18:40:44 -04:00
Gedare Bloom
3d74da6e23 PR2060: RBTree: updating min and max on extract path
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.
2012-05-08 18:40:44 -04:00
Gedare Bloom
0f31ec5d3b score/rbtree: eliminate unused function _RBTree_Peek. 2012-05-08 18:40:44 -04:00
Gedare Bloom
857275285f rbtree: API Changes
Make default for rtems_rbtree functions be unprotected (preemption enabled)
unless an unprotected variant e.g. rtems_rbtree_xxx_unprotected is available.
2012-05-08 18:40:44 -04:00
Gedare Bloom
8712622959 score/rbtree: replace _RBTree_Peek_unprotected with _RBTree_First. 2012-05-08 18:40:44 -04:00
Gedare Bloom
bc96bad6ca score/scheduling: Use RBTree_First instead of Peek in EDF scheduler. 2012-05-08 18:40:44 -04:00
Joel Sherrill
33a105fb69 Revert: Remove CVS Ids
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html
for details.
2012-05-07 11:08:48 -05:00
Sebastian Huber
2cd2ed3288 nfsclient: Add rename operation 2012-05-04 13:29:45 +02:00
Sebastian Huber
078369f41d nfsclient: Fix hard link operation 2012-05-04 13:29:28 +02:00
Sebastian Huber
1747208963 Filesystem: Use proper parameter in NFS 2012-05-04 10:53:52 +02:00
Sebastian Huber
6b36ca2371 Filesystem: Remove pipe_lseek() 2012-05-04 10:53:52 +02:00
Sebastian Huber
5a4bb758c0 Filesystem: Remove per file descriptor semaphore
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.
2012-05-04 10:53:51 +02:00
Ralf Corsépius
ee32f67a6f Remove CVS-Ids. 2012-05-04 09:36:25 +02:00
Joel Sherrill
cfaa3662ee General - Remove extraneous blank line in license message
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.
2012-05-03 12:55:58 -05:00
Chris Johns
3756041b00 IMFS: Update IMS_assert check when RTEMS_DEBUG is enabled.
Update the assert macro to the new IMFS_jnode_t.
2012-04-28 12:21:45 +10:00
Joel Sherrill
32815a2636 Simple SMP Scheduler - Fix typo which likely broke scheduling 2012-04-24 16:10:01 -05:00
Sebastian Huber
3595533de5 score: Remove _Stack_Adjust_size()
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.
2012-04-24 14:22:57 +02:00
Sebastian Huber
bc04436cce nfsclient: Use UID and GID of NFS handle
Use UID and GID of the NFS handle for node and symbolic link creation.
2012-04-23 16:26:13 +02:00
Sebastian Huber
e384438b9c nfsclient: POSIX conformance
According to POSIX the read() call should return the maximum number of
bytes available for regular files.
2012-04-23 16:02:09 +02:00
Gedare Bloom
fb78f9170f PR1908: consolidate libqos code and fix installed header location 2012-04-23 09:26:34 -04:00
Sebastian Huber
4012792168 score: Documentation 2012-04-20 15:31:00 +02:00