Commit Graph

23987 Commits

Author SHA1 Message Date
Sebastian Huber
25f814c016 fstests/fsrdwr: Avoid copy and paste 2012-05-11 13:58:44 +02: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
eb7c6a84b6 pc386 - Clock driver compiles again plus clean up
The clock drivers were very inconsistent about prototyping
the ISR handlers. This broke with the recent clean up.

Tested on qemu.
2012-05-10 11:17:59 -05:00
Joel Sherrill
79fee34132 clockdrv_shell.h - Fix commment 2012-05-10 08:02:31 -05:00
Joel Sherrill
153ef545e8 clockdrv_shell.c - Remove unreferenced and obsolete file 2012-05-10 08:02:26 -05:00
Joel Sherrill
314fab552d Clock Driver Shell - ISR handler prototype should follow port interrupt model
The prototype for the clock driver tick isr varies based upon
the interrupt model used by the port. This driver was checking
solely upon a flag set by the BSP.
2012-05-10 08:01:38 -05:00
Joel Sherrill
42547e07cb nds - Clock driver compiles again 2012-05-10 08:01:28 -05:00
Joel Sherrill
4523829abf nds/libnds - Fix missing prototype warning and formatting 2012-05-10 08:01:13 -05:00
Joel Sherrill
890c55c73c hurricane - Remove unused file setvec.c 2012-05-10 08:01:08 -05:00
Joel Sherrill
883a02c6f9 score603e - Eliminate any set_vector() remnants 2012-05-09 16:56:39 -05:00
Joel Sherrill
16f0a50ac6 virtex4 - Eliminate any set_vector() remnants 2012-05-09 16:56:39 -05:00
Joel Sherrill
71d7e02f1d virtex - Eliminate any set_vector() remnants 2012-05-09 16:56:39 -05:00
Joel Sherrill
1290a66fd3 mbx8xx - Eliminate any set_vector() remnants 2012-05-09 16:56:38 -05:00
Joel Sherrill
e7afbaa32e haleakala - Eliminate commented out code 2012-05-09 16:56:38 -05:00
Joel Sherrill
42dea0c851 mpc8260ads - Eliminate commented out code 2012-05-09 16:56:38 -05:00
Joel Sherrill
96ec7264f0 mpc8260ads - Eliminate any set_vector() remnants 2012-05-09 16:56:37 -05:00
Joel Sherrill
6620a8a8d1 malta - Eliminate any set_vector() remnants 2012-05-09 16:56:37 -05:00
Joel Sherrill
4302c08a30 jmr3904 - Eliminate any set_vector() remnants 2012-05-09 16:56:37 -05:00
Joel Sherrill
878566094b hurricane - Eliminate any set_vector() remnants 2012-05-09 16:56:36 -05:00
Joel Sherrill
aeb6a586c0 genmongoosev - Eliminate any set_vector() remnants 2012-05-09 16:56:36 -05:00
Joel Sherrill
498b9e7dfc rbtx4925 - Eliminate any set_vector() remnants 2012-05-09 16:56:36 -05:00
Joel Sherrill
959a701955 rbtx4938 - Eliminate any set_vector() remnants 2012-05-09 16:56:35 -05:00
Joel Sherrill
541c5ddcb0 csb350 - Eliminate any set_vector() remnants 2012-05-09 16:56:35 -05:00
Joel Sherrill
a29909cb87 libchip/serial - Only use set_vector() on Simple Vectored Architectures 2012-05-09 16:56:33 -05:00
Joel Sherrill
c424bb544e librtems++ - Disable Interrupt Class When Not Simple Vectored
This class only works on Simple Vectored Architectures. Even worse,
it is not guaranteed to compile on a Programmable Interrupt Vector
architecture.
2012-05-09 16:56:05 -05: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
Joel Sherrill
c100ba13de spqreslib - Make global data extern in system.h
Global data was declared in system.h but should have been extern
in system.h and declared in init.c. There were duplicate symbol
linking errors on at least powerpc/mpc8260ads.
2012-05-09 16:55:05 -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
19a3f501bb jmr3904 - Correct tm27.h to use PIC Interrupt Model 2012-05-07 17:02:07 -05:00
Joel Sherrill
dac3a52617 genmongoosev - Correct tm27.h to use PIC Interrupt Model 2012-05-07 16:58:39 -05:00
Joel Sherrill
c3e73138b8 csb350 - Correct tm27.h to use PIC Interrupt Model 2012-05-07 16:58:20 -05:00
Joel Sherrill
865bffd1c7 tm30 - Fix warning for Init needed prototype 2012-05-07 16:57:35 -05: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
Joel Sherrill
333a312d9b samples/base_mp - Makefile.am did not set LINK_OBJS
LINK_OBJS =

instead of

LINK_OBJS = $(mp01_node1_OBJECTS)
2012-05-04 15:14:34 -05:00
Joel Sherrill
48e02af9ca mptests - Makefile.am did not set LINK_OBJS
LINK_OBJS =

instead of

LINK_OBJS = $(mp01_node1_OBJECTS)
2012-05-04 14:59:10 -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