summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems/config.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-25Remove make preinstallChris Johns1-397/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-10-24score: Add _Watchdog_Nanoseconds_per_tickSebastian Huber1-9/+3
Move it from the configuration to a separate variable. Update #3117. Update #3182.
2017-05-16confdefs.h: Add SMP enabled field to configurationSebastian Huber1-1/+5
Do not use the processor count to determine if SMP is enabled. Instead use a dedicated configuration option. Enable SMP by default in SMP configurations. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
2017-02-02Remove CONFIGURE_SMP_APPLICATIONSebastian Huber1-6/+2
Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
2016-02-03Use linker set for MPCI initializationSebastian Huber1-2/+9
Update #2408.
2016-01-11score: Introduce Thread_Entry_informationSebastian Huber1-1/+1
This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
2014-04-10score: Statically initialize IO managerSebastian Huber1-13/+0
This simplifies the RTEMS initialization and helps to avoid a memory overhead. The workspace demands of the IO manager were not included in the <rtems/confdefs.h> workspace size estimate. This is also fixed as a side-effect. Update documentation and move "Specifying Application Defined Device Driver Table" to the section end. This sub-section is not that important for the user. Mentioning this at the beginning may lead to confusion.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-07POSIX keys now enabled in all configurations.Joel Sherrill1-1/+17
Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
2013-07-22sapi: Add rtems_configuration_is_smp_enabled()Sebastian Huber1-0/+25
Add a configuration field which indicates if the SMP mode of operation is enabled. This can be used to disable features unsupported on SMP, e.g task variables.
2013-05-16smp: Add maximum_processors field to configSebastian Huber1-0/+19
Delete rtems_configuration_get_smp_maximum_processors(). Delete rtems_configuration_smp_maximum_processors variable. Add maximum_processors field to rtems_configuration_table if RTEMS_SMP is defined. Add rtems_configuration_get_maximum_processors().
2013-01-08sapi: Doxygen Clean Up Task #1Alex Ivanov1-36/+47
2012-12-28Header File Doxygen Enhancement Task #2Mathew Kallada1-0/+2
2012-11-07sapi: Make initial user extensions table read-onlySebastian Huber1-1/+1
2012-11-07sapi: Make Configuration read-onlySebastian Huber1-1/+1
The Configuration is now read-only and must be statically initialized via confdefs.h or similar.
2012-11-07sapi: Delete duplicate declarationsSebastian Huber1-6/+0
2012-11-07sapi: Delete unused macrosSebastian Huber1-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().
2012-11-07sapi: Use rtems_configuration_get_maximum_driversSebastian Huber1-0/+3
2012-10-25score: Work area initialization API changeSebastian Huber1-10/+0
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.
2012-06-14sapi: Add nanoseconds_per_tick to configurationSebastian Huber1-1/+14
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.
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+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.
2012-04-11score: New macros and functionsSebastian Huber1-0/+6
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().
2011-12-142011-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-6/+38
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-11-102011-11-10 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-3/+45
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-06-242011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+3
* include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
2011-02-172011-02-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-5/+1
* sapi/include/confdefs.h, sapi/include/rtems/config.h, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl, score/src/scheduler.c, score/src/schedulerpriority.c, score/src/schedulerpriorityblock.c, score/src/schedulerpriorityschedule.c, score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerprioritythreadschedulerupdate.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriorityyield.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsuspend.c: Simplify the pluggable scheduler interface. Its configuration made a table of available schedulers and set a pointer to one of the. This was heavy handed since you can only use one scheduler in an application. This configuration mechanism resulted in a scheduler pointer being passed around when you could put all scheduler configuration in an initialized structure.
2010-11-242010-11-24 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill1-0/+4
PR 1647/cpukit * posix/src/nanosleep.c, posix/src/sched_yield.c, rtems/src/taskwakeafter.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/prioritybitmap.h, score/include/rtems/score/thread.h, score/inline/rtems/score/thread.inl, score/src/thread.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsettransient.c, score/src/threadsuspend.c, score/src/threadtickletimeslice.c: Refactor scheduler out of thread handler to facilitate alternate scheduler implementations. * score/src/threadyieldprocessor.c: Removed. * score/src/schedulerprioritythreadschedulerupdate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerpriorityblock.c, score/src/scheduler.c, score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriority.c, score/src/schedulerpriorityyield.c, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/scheduler.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl: New files.
2010-06-182010-06-18 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-4/+1
* sapi/include/rtems/config.h: Remove ITRON.
2010-06-18Remove RTEMS_ITRON_API conditional blocks.Ralf Corsepius1-7/+0
2009-11-29Whitespace removal.Ralf Corsepius1-5/+5
2009-10-212009-10-21 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-2/+2
* sapi/include/rtems/config.h: Fixed typos (wrong case) in macro expansion for rtems_configuration_get_device_driver_table() and rtems_configuration_get_user_extension_table()
2009-08-262009-08-26 Sebastian Huber <Sebastian.Huber@embedded-brains.de>Joel Sherrill1-1/+1
* sapi/include/rtems/config.h: Changed stack allocator signature to match the one of _Workspace_Allocate().
2009-05-082009-05-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* sapi/include/rtems/config.h: Switch from ssize_t to uintptr_t for work space size since it is larger than a single allocatable object.
2009-02-122009-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* sapi/include/rtems/config.h, score/include/rtems/score/thread.h, score/src/threadidlebody.c: Change prototype of IDLE thread to consistently return void * and take a uintptr_t argument.
2008-12-182008-12-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+12
* rtems/include/rtems/rtems/regionmp.h, sapi/include/rtems/config.h, sapi/src/exinit.c, score/Makefile.am, score/include/rtems/score/object.h, score/include/rtems/score/objectmp.h, score/src/objectmp.c: Eliminate Object Handler Initialization routine since it was all for MP configurations. * score/src/object.c: Removed.
2008-12-162008-12-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-6/+2
* sapi/include/rtems/config.h: Remove commented out lines. Add macro for rtems_configuration_get_nanoseconds_per_tick().
2008-12-152008-12-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-28/+27
* itron/include/rtems/itron/itronapi.h, libmisc/capture/capture.c, libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c, libmisc/monitor/mon-itask.c, libmisc/monitor/mon-mpci.c, posix/include/rtems/posix/config.h, posix/include/rtems/posix/posixapi.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/src/taskinitusers.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/init.h, sapi/src/exinit.c, sapi/src/itronapi.c, sapi/src/posixapi.c, sapi/src/rtemsapi.c, score/src/isr.c, score/src/thread.c, score/src/threadcreateidle.c, score/src/threadstackallocate.c, score/src/threadstackfree.c, score/src/wkspace.c: Eliminate pointers to API configuration tables in the main configuration table. Reference the main configuration table and the API configuration tables directly using the confdefs.h version rather than obtaining a pointer to it. This eliminated some variables, a potential fatal error, some unnecessary default configuration structures. Overall, about a 4.5% reduction in the code size for minimum and hello on the SPARC.
2008-12-142008-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* libcsupport/src/realloc.c, rtems/include/rtems/rtems/region.h, rtems/src/regioncreate.c, rtems/src/regionextend.c, rtems/src/regiongetsegment.c, rtems/src/regiongetsegmentsize.c, rtems/src/regionmp.c, rtems/src/regionresizesegment.c, sapi/include/rtems/config.h, score/include/rtems/score/heap.h, score/include/rtems/score/protectedheap.h, score/src/heap.c, score/src/heapallocate.c, score/src/heapallocatealigned.c, score/src/heapextend.c, score/src/heapresizeblock.c, score/src/heapsizeofuserarea.c, score/src/pheapallocate.c, score/src/pheapallocatealigned.c, score/src/pheapextend.c, score/src/pheapgetblocksize.c, score/src/pheapresizeblock.c: Change sizes of heap/region and allocated objects in heap to intptr_t so they can be larger than a single allocatable object (e.g. size_t).
2008-09-04Convert to "bool".Ralf Corsepius1-1/+1
2008-06-132008-06-13 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+16
* posix/include/rtems/posix/pthread.h, posix/src/pthread.c, posix/src/pthreadcreate.c, rtems/include/rtems.h, rtems/src/attr.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, score/inline/rtems/score/stack.inl, score/src/isr.c, score/src/mpci.c, score/src/threadcreateidle.c, score/src/threadinitialize.c, score/src/threadstackallocate.c: Add ability for application to configure minimum stack size. Add RTEMS_CONFIGURED_MINIMUM_STACK_SIZE constant so user can clearly indicate they want the configured as opposed to the recommended minimum stack size.
2008-05-062008-05-06 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+0
PR 1285/rtems * sapi/include/rtems/config.h: Remove obsolete rtems_configuration_get_maximum_devices().
2008-02-262008-02-26 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-6/+11
* sapi/include/rtems/config.h, sapi/include/rtems/sptables.h: Add missing field to default multiprocessing configuration table. Also document fields in Doxygen format.
2007-12-112007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-1/+1
* sapi/include/rtems/config.h: Correct idle task prototype.
2007-12-102007-12-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+3
* sapi/include/rtems/config.h: Fix idle thread prototype.
2007-12-052007-12-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* sapi/include/rtems/config.h: Correct previous commit.
2007-12-052007-12-05 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-0/+6
* sapi/include/rtems/config.h: Commit temporary fix so interrupt_stack_size is accessible before RTEMS is initialized.
2007-12-042007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-2/+15
* sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/init.h, sapi/src/exinit.c, score/include/rtems/system.h, score/src/isr.c: Move interrupt_stack_size field from CPU Table to Configuration Table. Eliminate CPU Table from all ports. Delete references to CPU Table in all forms.
2007-12-042007-12-04 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-0/+12
* sapi/include/rtems/config.h: Add accessory macros for Configuration Table fields merged from CPU Table.
2007-12-032007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-10/+51
* libcsupport/src/malloc.c, libmisc/monitor/mon-command.c, posix/preinstall.am, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/semaphore.h, posix/src/conddestroy.c, posix/src/mutexdestroy.c, posix/src/mutexinit.c, posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/init.h, sapi/include/rtems/sptables.h, sapi/src/exinit.c, score/include/rtems/system.h, score/include/rtems/score/mpci.h, score/src/mpci.c, score/src/thread.c, score/src/threadcreateidle.c, score/src/threadstackallocate.c, score/src/threadstackfree.c, score/src/wkspace.c: Moved most of the remaining CPU Table fields to the Configuration Table. This included pretasking_hook, predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace, extra_mpci_receive_server_stack, stack_allocate_hook, and stack_free_hook. As a side-effect of this effort some multiprocessing code was made conditional and some style clean up occurred.
2007-05-282007-05-28 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-15/+14
* libmisc/Makefile.am, libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/io.h, sapi/src/exinit.c, sapi/src/io.c: Eliminate maximum_drivers configuration parameter since it was used to configure a no longer used feature. Device names are now part of the filesystem not in a table. This also eliminated the variables _IO_Number_of_devices and _IO_Driver_name_table from RTEMS as well as the memory allocation used to populate _IO_Driver_name_table. * libmisc/monitor/mon-dname.c: Removed.