summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared/include/bootcard.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove make preinstallChris Johns2018-01-251-188/+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.
* Use linker set for libio initializationSebastian Huber2016-02-031-4/+0
| | | | Update #2408.
* drvmgr: Remove dupl bsp_driver_level_hook() declSebastian Huber2016-01-261-2/+0
|
* Use linker set for system initializationSebastian Huber2015-12-111-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization API available via #include <rtems/sysinit.h>. Update the documentation accordingly. This is no functional change, only the method to call the existing initialization routines changes. Instead of direct function calls a table of function pointers contained in the new RTEMS system initialization linker set is used. This table looks like this (the actual addresses depend on the target). nm *.exe | grep _Linker | sort 0201a2d0 D _Linker_set__Sysinit_begin 0201a2d0 D _Linker_set__Sysinit_bsp_work_area_initialize 0201a2d4 D _Linker_set__Sysinit_bsp_start 0201a2d8 D _Linker_set__Sysinit_rtems_initialize_data_structures 0201a2dc D _Linker_set__Sysinit_bsp_libc_init 0201a2e0 D _Linker_set__Sysinit_rtems_initialize_before_drivers 0201a2e4 D _Linker_set__Sysinit_bsp_predriver_hook 0201a2e8 D _Linker_set__Sysinit_rtems_initialize_device_drivers 0201a2ec D _Linker_set__Sysinit_bsp_postdriver_hook 0201a2f0 D _Linker_set__Sysinit_end Add test sptests/spsysinit01. Update #2408.
* bsps: Delete superfluous bsp_pretasking_hook()Sebastian Huber2015-12-101-3/+0
| | | | | | Use the bsp_predriver_hook() instead. Update #2408.
* bsps: Call bsp_work_area_initialize() earlySebastian Huber2015-12-101-1/+1
| | | | | | | | Call bsp_work_area_initialize() before bsp_start(). This allows bsp_start() to use malloc() etc. which is beneficial for systems with a plug-and-play hardware enumeration. Update #2408.
* Remove <rtems/debug.h>Sebastian Huber2015-12-071-2/+0
| | | | Close #2477.
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-261-1/+1
|
* DRVMGR: added driver manager to cpukit/libdrvmgrDaniel Hellstrom2015-04-171-0/+2
|
* bsps: Declare bsp_start_on_secondary_processors()Sebastian Huber2014-05-121-1/+11
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* doxygen: refactored doxygen in libbsp to illustrate new rule setDaniel Ramirez2013-12-091-8/+2
|
* bsps: Fix header includesSebastian Huber2013-08-271-2/+4
|
* bsps: Move bsp_generic_fatal_code to new fileSebastian Huber2013-06-211-11/+2
| | | | Add bsp_generic_fatal().
* score: rtems_initialize_start_multitasking()Sebastian Huber2012-12-071-7/+2
| | | | | | | | | Do not return from rtems_initialize_start_multitasking() and call rtems_fatal() instead with a fatal source of RTEMS_FATAL_SOURCE_EXIT and a fatal code with the exit status. Remove all bsp_cleanup() functions. The boot_card() is now a no return function.
* bsps: Add BSP_GENERIC_FATAL_SPURIOUS_INTERRUPTSebastian Huber2012-12-071-1/+2
| | | | Use rtems_fatal() instead of bsp_cleanup().
* bsps/powerpc: Exception initialization error is fatalSebastian Huber2012-11-151-0/+1
|
* bsps: Interrupt initialization error is fatalSebastian Huber2012-11-151-0/+7
|
* bsps: Add bsp_work_area_initialize_with_table()Sebastian Huber2012-10-251-0/+9
|
* score: Work area initialization API changeSebastian Huber2012-10-251-64/+111
| | | | | | | | | | | | 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.
* Use proper 3 line form of license textJoel Sherrill2012-10-111-2/+3
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-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.
* 2011-07-13 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-07-131-4/+6
| | | | | | | | PR 1824/cpukit * bootcard.c, bspclean.c, include/bootcard.h: Return exit/shutdown status back to boot_card(). boot_card() propagates this to bsp_cleanup() and returns it to the assembly that started the application.
* 2011-05-18 Till Straumann <strauman@slac.stanford.edu>Till Straumann2011-05-181-0/+17
| | | | | | PR1797/bsps: Applied cleaned-up version of Kate's patch. CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK is now a 'bspopts.h' setting and as such configurable.
* 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-04-301-1/+1
| | | | * include/bootcard.h: Documentation.
* 2009-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill2009-09-081-7/+76
| | | | | | | | | * include/irq-config.h, include/irq-generic.h, include/irq-info.h, src/irq-generic.c, src/irq-info.c, src/irq-legacy.c, src/irq-shell.c: Format, cleanup and documentation. * src/irq-server.c: New file. * include/bootcard.h, include/stackalloc.h, src/stackalloc.c, bsplibc.c: Update for heap API changes. Documentation.
* 2009-05-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-05-081-4/+4
| | | | | | * bootcard.c, bspgetworkarea.c, include/bootcard.h: Switch from ssize_t to uintptr_t for bsp_get_work_area() since the work area is larger than a single allocatable object.
* 2009-04-28 Chris Johns <chrisj@rtems.org>Chris Johns2009-04-281-1/+1
| | | | | | * bootcard.c, include/bootcard.h: Remove argc/argv/envp and replace with a single BSP boot command line a BSP can optionally support.
* 2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-10-021-4/+5
| | | | | | | * bootcard.c, bspgetworkarea.c, bsppretaskinghook.c, include/bootcard.h: Change size_t to ssize_t on bsp_get_work_area(). On 16-bit architectures, size_t can be 16-bits which would limit the work area to 64K.
* 2008-09-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-231-11/+9
| | | | | | * bootcard.c, include/bootcard.h: Make letting boot_card() handle work area allocation mandatory. Rename RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION to BSP_BOOTCARD_OPTIONS.
* 2008-09-22 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-221-0/+2
| | | | | | | | | * bspclean.c, include/bootcard.h: Use standardized bsp_cleanup() which can optionally print a message, poll for user to press key, and call bsp_reset(). Using this eliminates the various bsp_cleanup() implementations which had their own implementation and variety of string constants. * bspreset.c, bspreset_fatal.c, bspreset_loop.c: New files.
* 2008-08-19 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill2008-08-191-11/+6
| | | | | | | * include/bootcard.h, bootcard.c, bsplibc.c: Changed parameter types of bsp_libc_init() to match RTEMS_Malloc_Initialize(). * bsppost.c, bsppredriverhook.c: Include bootcard.h. * src/irq-generic.c: Fixed warnings.
* Changed bsp_get_workarea() to bsp_get_work_area() andThomas Doerfler2008-07-241-0/+75
added support for an optional separate heap area.