Commit Graph

3323 Commits

Author SHA1 Message Date
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
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
0caef32f7b Remove CVS-Ids. 2012-05-04 09:36:25 +02:00
Ralf Corsépius
fdc39c482a Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
9f4e8fbc63 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
70f3719807 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
2376237f4c Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
4dec3529a1 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
84b0190564 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
67cad33ea9 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
27a345bfb8 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
820d82ed8a Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
6a5e19cc56 Remove CVS-Ids. 2012-05-04 09:36:24 +02:00
Ralf Corsépius
5f38f20d28 Remove. 2012-05-04 09:29:07 +02:00
Joel Sherrill
9f6ea32393 psxaio01/psxaio02 - Formatting corrections
The file header was moved over one space. These two were the only
files in the testsuite which did this.
2012-05-03 10:03:34 -05:00
Joel Sherrill
604405d886 sp07/buffered_io.c add missing copyright
Date and ownership determined from file history.
2012-05-03 09:41:38 -05:00
Joel Sherrill
c36ebbda30 smp08 screen replacement 2012-04-24 16:10:01 -05:00
Gedare Bloom
fb78f9170f PR1908: consolidate libqos code and fix installed header location 2012-04-23 09:26:34 -04:00
Sebastian Huber
5c51ba1333 rbheap: API changes and documentation 2012-04-18 12:18:11 +02:00
Petr Benes
1c2b94a61c PR1908: QoS library for CBS scheduler
Add the lipqos and sptest.
2012-04-15 23:12:08 -04:00
Petr Benes
c050143273 PR1908: QoS library for CBS scheduler
Since the CBS scheduler is inspired by AQuoSA project for Linux, additional API
(qreslib) compliant with Linux has been created.

Sptest for qreslib included.
2012-04-15 23:06:34 -04:00
Sebastian Huber
8c6608bd1b rbtree: PR2046: Replace rtems_rbtree_unique 2012-04-13 09:14:18 +02:00
Sebastian Huber
e75263083e rbheap: New files
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.
2012-04-11 11:24:19 +02:00
Sebastian Huber
dc62a48cc5 rbtree: PR1995: API change
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().
2012-04-11 11:24:18 +02:00
Sebastian Huber
58f665583e networking: socket to/from file descriptor
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.
2012-04-03 16:21:23 +02:00
Gedare Bloom
890358f4f7 PR1994: RBTree Compare Result Change
Change the meaning of the compare result to simplify comparison of
integer keys.
2012-03-29 20:42:36 -04:00
Gedare Bloom
e53aae2676 confdefs: Add declaration for unlimited objects.
Adds to confdefs a way to specify rtems_resource_unlimited for classic and
posix objects using a new macro CONFIGURE_OBJECTS_UNLIMITED.
Use CONFIGURE_OBJECTS_ALLOCATION_SIZE to declare the allocation size for
extending the set of objects at runtime. Updates the unlimited sample
to demonstrate how to use the new macros. Also adds new documentation in
the C User's Manual regarding configuring with unlimited objects.
2012-03-27 19:51:31 -04:00
Sebastian Huber
4ee0fa8798 libtests/block06: Increase stack size 2012-03-26 15:04:53 +02:00
Sebastian Huber
23ed785839 PR2040: libtests/flashdisk01: New test 2012-03-14 11:14:38 +01:00
Sebastian Huber
113944fa63 fstests/fsbdpart01: New test 2012-03-13 12:24:19 +01:00
Sebastian Huber
01211720ec libblock: Add generic IMFS block device nodes
New functions
 o rtems_blkdev_create(), and
 o rtems_blkdev_create_partition().

New test libtests/block11.
2012-03-13 12:24:18 +01:00
Sebastian Huber
796967c3df libblock: Change bdbuf API
The functions
 o rtems_bdbuf_get(),
 o rtems_bdbuf_read(),
 o rtems_bdbuf_syncdev(), and
 o rtems_bdbuf_purge_dev(),
use now the disk device instead of the device identifier.  This makes
bdbuf independent of rtems_disk_obtain() and rtems_disk_release().  It
is the responsiblity of the file system to obtain the disk device.  This
also reduces the overhead to get a buffer.

The key for the AVL tree uses now the disk device instead of the device
identifier.  The pointer is interpreted as an unsigned integer.  This
reduces the memory overhead and makes the comparison operation a bit
faster.

Removed function rtems_bdbuf_purge_major().  This function was too
destructive and could have unpredictable side effects.
2012-03-13 12:24:18 +01:00
Sebastian Huber
c649976859 libblock: New block IO control support functions 2012-03-13 12:24:17 +01:00
Sebastian Huber
c5392ef924 IMFS: Add make generic node support
Generic nodes are an alternative to standard drivers in RTEMS.  The
handlers of a generic node are called with less overhead compared to the
standard driver operations.  The usage of file system node handlers
enable more features like support for fsync() and fdatasync().  The
generic nodes use the reference counting of the IMFS.  This provides
automatic node destruction when the last reference vanishes.

Extend type IMFS_types_union by new type IMFS_generic_t.

Extend enum IMFS_jnode_types_t by IMFS_GENERIC.

Add functions
 o IMFS_make_generic_node(),
 o IMFS_is_imfs_instance(),
 o IMFS_generic_get_context_by_node(),
 o IMFS_generic_get_context_by_location(), and
 o IMFS_generic_get_context_by_iop().

New test fstests/fsimfsgeneric01.
2012-03-13 12:24:16 +01:00
Sebastian Huber
e00cca9b74 IMFS: Do not check for unsupported types
Allow creation of nodes with an unsupported type.  Later the usage of
such nodes will return an error status.
2012-03-13 12:24:15 +01:00
Sebastian Huber
3ba4f828e4 Filesystem: Read-only file system checks
o Make sure EROFS is indicated for write operations on a read-only file
   system.
 o Add error indication for read-only file systems in fchmod() and
   fchown() according to POSIX.
2012-03-13 12:23:44 +01:00
Sebastian Huber
3b7c123c8d Filesystem: Reference counting for locations
o A new data structure rtems_filesystem_global_location_t was
   introduced to be used for
    o the mount point location in the mount table entry,
    o the file system root location in the mount table entry,
    o the root directory location in the user environment, and
    o the current directory location in the user environment.
   During the path evaluation global start locations are obtained to
   ensure that the current file system instance will be not unmounted in
   the meantime.
 o The user environment uses now reference counting and is protected
   from concurrent access.
 o The path evaluation process was completely rewritten and simplified.
   The IMFS, RFS, NFS, and DOSFS use now a generic path evaluation
   method.  Recursive calls in the path evaluation have been replaced
   with iteration to avoid stack overflows.  Only the evaluation of
   symbolic links is recursive.  No dynamic memory allocations and
   intermediate buffers are used in the high level path evaluation.  No
   global locks are held during the file system instance specific path
   evaluation process.
 o Recursive symbolic link evaluation is now limited by
   RTEMS_FILESYSTEM_SYMLOOP_MAX.  Applications can retrieve this value
   via sysconf().
 o The device file system (devFS) uses now no global variables and
   allocation from the workspace.  Node names are allocated from the
   heap.
 o The upper layer lseek() performs now some parameter checks.
 o The upper layer ftruncate() performs now some parameter checks.
 o unmask() is now restricted to the RWX flags and protected from
   concurrent access.
 o The fchmod_h and rmnod_h file system node handlers are now a file
   system operation.
 o The unlink_h operation has been removed.  All nodes are now destroyed
   with the rmnod_h operation.
 o New lock_h, unlock_h, clonenod_h, and are_nodes_equal_h file system
   operations.
 o The path evaluation and file system operations are now protected by
   per file system instance lock and unlock operations.
 o Fix and test file descriptor duplicate in fcntl().
 o New test fstests/fsnofs01.
2012-03-13 12:23:37 +01:00
Gedare Bloom
a52be5ec40 PR2034: sprbtree01: predecessor/successor imprecision
The tests for the rtems_rbtree_predecessor/successor check for a
range of values for the target id of the predecessor/successor
when we know the exact expected value. This commit makes the
test more precise.
2012-03-04 08:49:28 -05:00
Ralf Corsépius
ac165341df 2011-03-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* support/src/spin.c: Include "test_support.h".
2012-03-02 18:16:33 +01:00
Ralf Corsépius
e6a675e6f9 2011-03-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* psxtmmq01/init.c: Make benchmark_mq_open,
	benchmark_mq_open_second, benchmark_mq_close,
	benchmark_mq_close_second, benchmark_mq_unlink, benchmark_mq_notify,
	benchmark_mq_send, benchmark_mq_receive, benchmark_mq_timedsend,
	benchmark_mq_timedreceive static.
	* psxtmmutex01/init.c: Make test_mutex_create, test_mutex_destroy
	static.
	* psxtmsem02/init.c: benchmark_sem_getvalue, benchmark_sem_wait,
	benchmark_sem_post, benchmark_sem_trywait_available,
	benchmark_sem_trywait_not_available static.
2012-03-02 14:51:10 +01:00
Sebastian Huber
9294f8fe2e psxtests: Fix typo in psxstat 2012-02-23 11:16:10 +01:00
Ralf Corsépius
56f1fbed85 2012-02-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* pppd/system.h: Add pppdapp_initialize.
	* pppd/init.c: Remove pppdapp_initialize.
2012-02-22 09:33:18 +01:00
Ralf Corsépius
99aebcbc86 2012-02-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* nsecs/system.h: New (Split out from nsecs/init.c).
	* nsecs/init.c: Reflect nsecs/system.h having been split out.
	* nsecs/empty.c: Include "system.h".
2012-02-22 09:33:10 +01:00
Sebastian Huber
77998753b5 Use alternative API
Replaced Allocate_majority_of_workspace() with
rtems_workspace_allocate().  Replaced Allocate_majority_of_heap() with
rtems_heap_greedy_allocate().
2012-02-17 16:56:17 +01:00
Sebastian Huber
23c6f93aa1 Increase stack size for symbolic link loop test 2012-02-09 11:05:44 +01:00
Sebastian Huber
28860ec03c Fixed warnings and minor bugs
o Due to the usual integer propagation rules care must be taken in case
   off_t is involved.
 o Use the effective UID and GID consistently.
2012-02-08 15:57:04 +01:00
Joel Sherrill
5d44355937 PR 1991/cpukit - attr.c (really mode code) warning rework
This PR was about a warning for no previous prototype for
rtems_interrupt_level_attribute. This method exists (like
a few others) to have real bodies for Classic API services
implemented as macros. These macros are not available from
anything but C and C++. The most explicit use was in the Ada
binding but these would be needed from assembly language
or any other non-C based language.

On top of needing a prototype, the methods were misnamed.
They were related to modes.  This renames them, moves the
file, fixes test code, etc.
2012-02-02 16:57:42 -06:00
Joel Sherrill
61250b4ce9 Remove all .cvsignore files. 2012-02-01 10:59:44 -06:00