summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared/bootcard.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Move bootcard.c to bspsSebastian Huber2018-04-121-85/+0
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* Use linker set for libio initializationSebastian Huber2016-02-031-12/+0
| | | | Update #2408.
* Use linker set for system initializationSebastian Huber2015-12-111-72/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-11/+0
| | | | | | Use the bsp_predriver_hook() instead. Update #2408.
* bsps: Call bsp_work_area_initialize() earlySebastian Huber2015-12-101-4/+4
| | | | | | | | 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-13/+0
| | | | Close #2477.
* rtems: Add rtems_interrupt_local_disable|enable()Sebastian Huber2015-06-221-1/+1
| | | | | | | | Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to emphasize that interrupts are only disabled on the current processor. Do not define the rtems_interrupt_disable|enable|flash() macros and functions on SMP configurations since they don't ensure system wide mutual exclusion.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* powerpc: Change interrupt disable implemetationSebastian Huber2014-02-191-8/+0
| | | | | | | | | | | | Instead of SPRG0 (= special purpose register 272) use the new global symbol _PPC_INTERRUPT_DISABLE_MASK to store the interrupt disable mask. The benefit is that it is now possible to disable interrupts without further run-time initialization in boot_card(). At least on Freescale e500 cores this leads also to a faster execution since the mfmsr and mfspr instruction require four cycles to complete. The instructions to load the mask value can execute while the mfmsr is in progress.
* bootcard.c: Comment clean upJoel Sherrill2014-01-311-5/+5
|
* bsps: Fix header includesSebastian Huber2013-08-271-7/+1
|
* bsps: Fix warningsSebastian Huber2013-04-081-0/+1
|
* score: rtems_initialize_start_multitasking()Sebastian Huber2012-12-071-18/+5
| | | | | | | | | 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.
* score: Work area initialization API changeSebastian Huber2012-10-251-115/+3
| | | | | | | | | | | | 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.
* 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.
* Fix typo in comment.Joel Sherrill2012-02-231-1/+1
|
* 2011-11-10 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-11-101-20/+23
| | | | | PR 1924/cpukit * bootcard.c: Update due to API changes.
* 2011-08-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-08-301-4/+13
| | | | | * bootcard.c: Revert patch and add comment clarifying code and need for cast.
* 2011-08-29 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-08-291-3/+3
| | | | * bootcard.c: Correct printk() format.
* 2011-07-13 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-07-131-8/+9
| | | | | | | | 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-1/+1
| | | | | | PR1797/bsps * shared/bootcard.c: Fixed a typo (in code, not comment) which I introduced with the last change.
* 2011-05-18 Till Straumann <strauman@slac.stanford.edu>Till Straumann2011-05-181-10/+50
| | | | | | 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.
* 2009-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill2009-10-121-54/+31
| | | | * bootcard: Update for heap API changes.
* 2009-08-28 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-08-281-1/+2
| | | | | * bootcard.c, bsplibc.c, clockdrv_shell.h, console-polled.c: Fix formatting.
* 2009-05-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-05-081-8/+9
| | | | | | * 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-05-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-05-051-1/+5
| | | | | * bootcard.c, gdbstub/rtems-stub-glue.c: Add info to not enough memory message.
* 2009-04-28 Chris Johns <chrisj@rtems.org>Chris Johns2009-04-281-32/+13
| | | | | | * bootcard.c, include/bootcard.h: Remove argc/argv/envp and replace with a single BSP boot command line a BSP can optionally support.
* 2009-03-10 Eric Norum <norume@aps.anl.gov>Joel Sherrill2009-03-101-8/+6
| | | | | | | * bootcard.c: Swap order of RTEMS Workspace and Malloc Heap. This allows the potential for sbrk() to extend the heap area. This actually is done on PowerPC BSPs with more than 32MB which use dynamic loading.
* 2009-03-05 Till Straumann <strauman@slac.stanford.edu>Till Straumann2009-03-051-1/+1
| | | | | | * bootcard.c: use aligned heap_start (instead of original heap_start) when calculating default heap size (to take into account loss due to alignment).
* 2008-12-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-12-151-8/+8
| | | | | | | | | | * bootcard.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-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-10-021-9/+9
| | | | | | | * 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-96/+80
| | | | | | * 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-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-181-5/+5
| | | | * bootcard.c: Perform bsp_start() before bsp_get_work_area().
* 2008-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-09-171-10/+17
| | | | | | * bootcard.c: Add support for optionally having a unified work area. In other words, the RTEMS Workspace and C Program Heap are the same pool of memory.
* 2008-08-30 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-08-301-1/+1
| | | | | * bootcard.c: Fix formatting. * console-polled.c: Error if minor < 2 not just <= 2.
* 2008-08-19 Sebastian Huber <sebastian.huber@embedded-brains.de>Joel Sherrill2008-08-191-3/+3
| | | | | | | * 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.
* src/irq-legacy.c: Free allocated memory in hander removeThomas Doerfler2008-07-291-35/+53
| | | | bootcard.c: Check if the heap fits into the work area
* Changed bsp_get_workarea() to bsp_get_work_area() andThomas Doerfler2008-07-241-42/+47
| | | | added support for an optional separate heap area.
* 2008-07-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-07-151-1/+2
| | | | | * bootcard.c: Must include bsp.h or bspopts.h or we cannot know if boot_card() handles RAM allocation.
* Spacing.Joel Sherrill2008-07-151-1/+1
|
* updated gen83xx BSPThomas Doerfler2008-07-141-16/+0
| | | | | updated haleakala BSP added MPC55xx BSP
* adapted powerpc BSPs to new exception codeThomas Doerfler2008-07-111-1/+12
|
* 2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-05-151-8/+127
| | | | | | | | | | | | | | | * bootcard.c: Add capability for bootcard.c BSP Initialization Framework to ask the BSP where it has memory for the RTEMS Workspace and C Program Heap. These collectively are referred to as work area. If the BSP supports this, then it does not have to include code to split the available memory between the two areas. This reduces the amount of code in the BSP specific bspstart.c file. Additionally, the shared framework can initialize the C Library, call rtems_debug_enable(), and dirty the work area memory. Until most/all BSPs support this new capability, if the BSP supports this, it should call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When the transition is complete, this autoconf macro can be removed. * bsppretaskinghook.c: New file.
* 2008-05-12 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-05-121-18/+51
| | | | | | | | | | | | * bootcard.c: Refactored and renamed initialization routines to rtems_initialize_data_structures, rtems_initialize_before_drivers, rtems_initialize_device_drivers, and rtems_initialize_start_multitasking. This opened the sequence up so that bootcard() could provide a more robust and flexible framework which is easier to explain and understand. This also lays the groundwork for sharing the division of available memory between the RTEMS workspace and heap and the C library initialization across all BSPs.
* 2008-05-06 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-05-061-4/+8
| | | | * bootcard.c: Improve formatting and comments.
* 2008-01-22 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-01-221-12/+16
| | | | * bootcard.c: Improve comments and clean up argc/argv order.
* 2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-111-25/+8
| | | | | | * bootcard.c, bsplibc.c: Eliminate copies of the Configuration Table. Use the RTEMS provided accessor macros to obtain configuration fields.
* 2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-041-12/+1
| | | | | | * bootcard.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-03 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-12-031-8/+0
| | | | | | | | | * bootcard.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-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-11-261-0/+7
| | | | * bootcard.c: Add comment.