summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add rtems_fatal()Sebastian Huber2012-11-153-14/+66
|
* score: Add INTERNAL_ERROR_CPU_ISR_INSTALL_VECTORSebastian Huber2012-11-151-1/+2
| | | | | Use INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR on PowerPC for _CPU_ISR_install_vector().
* sapi: Add and use rtems_internal_error_descriptionSebastian Huber2012-11-153-1/+70
|
* sapi: Add rtems_fatal_source and rtems_fatal_codeSebastian Huber2012-11-151-0/+4
|
* sapi: Add BSP_INITIAL_EXTENSION to confdefs.hSebastian Huber2012-11-131-1/+5
| | | | | | A BSP can supply an initial extension via the new optional BSP_INITIAL_EXTENSION define. It will be the last in the initial extension table.
* score: Statically initialize user extensionsSebastian Huber2012-11-131-5/+5
| | | | | | | | | The initial extensions remain now in a read-only table and will not be copied to work space memory. The extension chains are statically initialized. This makes it possible to call _User_extensions_Iterate() independent of the system state. It is now guaranteed that the fatal callout of the initial extensions will be called provided the stack pointer, the read-only data, and code memory are valid.
* score: Add and use RTEMS_ARRAY_SIZE()Sebastian Huber2012-11-131-6/+4
|
* sapi: Make initial user extensions table read-onlySebastian Huber2012-11-072-2/+2
|
* sapi: Fix user scheduler configurationSebastian Huber2012-11-071-13/+0
| | | | | | | | | | The comment in confdefs.h shows how to do it: An application can define its own scheduling policy by defining CONFIGURE_SCHEDULER_USER and the following: - CONFIGURE_SCHEDULER_ENTRY_POINTS - CONFIGURE_MEMORY_FOR_SCHEDULER - base memory - CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory
* sapi: Make Configuration read-onlySebastian Huber2012-11-072-2/+2
| | | | | The Configuration is now read-only and must be statically initialized via confdefs.h or similar.
* sapi: Delete duplicate declarationsSebastian Huber2012-11-072-7/+0
|
* sapi: Delete unused macrosSebastian Huber2012-11-071-15/+0
| | | | | | | Delete rtems_configuration_get_table(), rtems_configuration_set_stack_space_size(), rtems_configuration_set_work_space_size(), and rtems_configuration_set_microseconds_per_tick().
* sapi: Use rtems_*_get_user_multiprocessing_tableSebastian Huber2012-11-071-1/+1
|
* sapi: Use rtems_config*_get_maximum_extensionsSebastian Huber2012-11-071-1/+1
|
* sapi: Use rtems_config*_get_device_driver_tableSebastian Huber2012-11-071-1/+1
|
* sapi: Use rtems_conf*_get_number_of_device_driversSebastian Huber2012-11-071-1/+1
|
* sapi: Use rtems_configuration_get_maximum_driversSebastian Huber2012-11-072-1/+4
|
* score: Work area initialization API changeSebastian Huber2012-10-253-21/+4
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* Cleanup Krzysztof's copyright notices.Ralf Corsépius2012-10-112-5/+4
|
* timespec helpers: Add wrappers with new testKrzysztof Mięsowicz2012-08-294-0/+359
|
* sapi: Add nanoseconds_per_tick to configurationSebastian Huber2012-06-142-1/+15
| | | | | | Add nanoseconds_per_tick to rtems_configuration_table. This value will be derived from the microseconds_per_tick value. This avoids some calculations at run-time.
* libblock: Add read-ahead taskSebastian Huber2012-06-041-2/+9
| | | | | | | | | | | Read-ahead requests were previously executed in the context of the reading task. This blocks the reading task until the complete read with read-ahead transfer is finished. A read-ahead task is introduced to off-load the read-ahead transfer. This allows the reading task to work with the requested block more quickly. The read-ahead is triggered after two misses of ascending consecutive blocks or a read hit of a block read by the most-recent read-ahead transfer. The read-ahead feature is configurable and can be disabled.
* libblock: Add task stack size bdbuf configurationSebastian Huber2012-05-311-3/+21
| | | | | | The task stack size for the swap-out and worker tasks is now configurable. The bdbuf task resources are now included in the work space size estimate.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-1138-80/+0
| | | | | | | | | | | | 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.
* rbtree: API changes. Remove rbtree control node from RBTree_Next.Gedare Bloom2012-05-082-12/+7
| | | | | | | | | | | | 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.
* rbtree: API ChangesGedare Bloom2012-05-081-10/+75
| | | | | Make default for rtems_rbtree functions be unprotected (preemption enabled) unless an unprotected variant e.g. rtems_rbtree_xxx_unprotected is available.
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+4
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Filesystem: Remove per file descriptor semaphoreSebastian Huber2012-05-041-4/+2
| | | | | | | | | 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.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-4/+0
|
* rbheap: API changes and documentationSebastian Huber2012-04-182-118/+258
|
* rbtree: PR2046: Replace rtems_rbtree_uniqueSebastian Huber2012-04-132-17/+3
|
* score: New macros and functionsSebastian Huber2012-04-112-1/+7
| | | | | | | | | | New macros o _Objects_Maximum_per_allocation(), o rtems_resource_is_unlimited(), and o rtems_resource_maximum_per_allocation(). New function o _Objects_Is_unlimited().
* rbheap: New filesSebastian Huber2012-04-114-1/+413
| | | | | | | 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.
* rbtree: PR1995: API changeSebastian Huber2012-04-111-12/+32
| | | | | | | | | | | | | | | | 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().
* score/rbtree: Add const qualifierSebastian Huber2012-03-301-13/+13
|
* confdefs: Add declaration for unlimited objects.Gedare Bloom2012-03-271-1/+107
| | | | | | | | | 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.
* Filesystem: Reference counting for locationsSebastian Huber2012-03-131-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-02-22 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsépius2012-02-221-0/+1
| | | | | * sapi/include/confdefs.h: Add decl of configuration_mount_table (Fix c++ mangling).
* Merge remote branch 'remotes/origin/gitignore'Joel Sherrill2012-02-021-2/+0
|\
| * Remove all .cvsignore files.Joel Sherrill2012-02-011-2/+0
| |
* | Extended API to support iteration of const chains.Sebastian Huber2012-02-021-4/+96
|/
* 2011-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-142-19/+72
| | | | | | | | | | | | PR 1924/cpukit * sapi/include/rtems/config.h: Added stack_allocate_init_hook to rtems_configuration_table. * sapi/include/confdefs.h: Added CONFIGURE_TASK_STACK_FROM_ALLOCATOR and CONFIGURE_TASK_STACK_ALLOCATOR_INIT defines. Set default stack allocator and free hook to _Workspace_Allocate() and _Workspace_Free() respectively. * score/src/thread.c, score/src/threadstackallocate.c, score/src/threadstackfree.c: Update due to API changes.
* 2011-12-13 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-131-12/+16
| | | | * sapi/include/confdefs.h: Fixed workspace size estimate of tasks.
* 2011-12-13 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-131-7/+5
| | | | | * sapi/include/confdefs.h: Fixed workspace size estimate of POSIX keys and message queues.
* 2011-12-08 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-081-0/+1
| | | | * sapi/src/getversionstring.c: Include <rtems.h> (Missing prototype).
* 2011-12-05 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-051-0/+1
| | | | | | | * rtems/src/rtemsobjectapimaximumclass.c: Include <rtems/rtems/object.h> (Missing prototypes). * sapi/src/exshutdown.c: Include <rtems/init.h> (Missing prototypes).
* 2011-12-05 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-051-2/+0
| | | | | | | | | | * posix/include/rtems/posix/pthread.h: Add _POSIX_Threads_Initialize_user_threads_body. * rtems/include/rtems/rtems/tasks.h: Add _RTEMS_tasks_Initialize_user_tasks_body. * sapi/include/confdefs.h: Remove conditional, nested redeclaration of _POSIX_Threads_Initialize_user_threads_body, _RTEMS_tasks_Initialize_user_tasks_body.
* 2011-11-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-11-181-2/+12
| | | | | * sapi/include/confdefs.h: Added a bsp override option for MAXIMUM_DEVICES.
* 2011-11-10 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-11-102-191/+302
| | | | | | | | | | | | | PR 1924/cpukit * sapi/include/rtems/config.h: New fields stack_space_size, unified_work_area, and stack_allocator_avoids_work_space in rtems_configuration_table. * sapi/include/confdefs.h: Removed rtems_unified_work_area (this is now part of the Configuration). Separate work space and stack space estimate. Added CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE configuration option. * libmisc/shell/main_wkspaceinfo.c, score/src/wkspace.c, libcsupport/src/malloc_initialize.c: Update due to API changes.
* 2011-10-10 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-10-101-1/+1
| | | | | | | * libfs/src/devfs/devfs_mknod.c: Remove const cast. * libfs/src/imfs/ioman.c: Remove const cast. * libfs/src/devfs/devfs.h: Make device_name a const char*. * sapi/include/rtems/io.h: Make device_name a const char*.