Commit Graph
24290 Commits
Author SHA1 Message Date
Sebastian Huber b16b0aa9de fstests/fsrdwr: Add block read/write test case 2012-05-11 13:58:44 +02:00
Sebastian Huber a26ea56dfd fstests/fsrdwr: Add truncate to zero test case 2012-05-11 13:58:44 +02:00
Sebastian Huber be36650868 fstests/fsrdwr: Fix assertions 2012-05-11 13:58:44 +02:00
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