summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/mvme3100/start/bspstart.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-02-26powerpc: Use .machine any for some inline asmSebastian Huber1-2/+14
2020-05-06Use rtems_get_version_string()Sebastian Huber1-1/+1
Update #3970.
2020-02-04bsps: Add RTEMS_SYSINIT_BSP_EARLYSebastian Huber1-7/+12
Add new BSP system initialization step for work to be performed before the work areas are initialized. Update #3838.
2018-09-06bsps/powerpc: Simplify ppc_exc_initialize()Sebastian Huber1-13/+1
Remove parameters from ppc_exc_initialize() since all BSPs passed the same values. Update #3459.
2018-06-27Rework initialization and interrupt stack supportSebastian Huber1-1/+1
Statically initialize the interrupt stack area (_Configuration_Interrupt_stack_area_begin, _Configuration_Interrupt_stack_area_end, and _Configuration_Interrupt_stack_size) via <rtems/confdefs.h>. Place the interrupt stack area in a special section ".rtemsstack.interrupt". Let BSPs define the optimal placement of this section in their linker command files (e.g. in a fast on-chip memory). This change makes makes the CPU_HAS_SOFTWARE_INTERRUPT_STACK and CPU_HAS_HARDWARE_INTERRUPT_STACK CPU port defines superfluous, since the low level initialization code has all information available via global symbols. This change makes the CPU_ALLOCATE_INTERRUPT_STACK CPU port define superfluous, since the interrupt stacks are allocated by confdefs.h for all architectures. There is no need for BSP-specific linker command file magic (except the section placement), see previous ARM linker command file as a bad example. Remove _CPU_Install_interrupt_stack(). Initialize the hardware interrupt stack in _CPU_Initialize() if necessary (e.g. m68k_install_interrupt_stack()). The optional _CPU_Interrupt_stack_setup() is still useful to customize the registration of the interrupt stack area in the per-CPU information. The initialization stack can reuse the interrupt stack, since * interrupts are disabled during the sequential system initialization, and * the boot_card() function does not return. This stack resuse saves memory. Changes per architecture: arm: * Mostly replace the linker symbol based configuration of stacks with the standard <rtems/confdefs.h> configuration via CONFIGURE_INTERRUPT_STACK_SIZE. The size of the FIQ, ABT and UND mode stack is still defined via linker symbols. These modes are rarely used in applications and the default values provided by the BSP should be sufficient in most cases. * Remove the bsp_processor_count linker symbol hack used for the SMP support. This is possible since the interrupt stack area is now allocated by the linker and not allocated from the heap. This makes some configure.ac stuff obsolete. Remove the now superfluous BSP variants altcycv_devkit_smp and realview_pbx_a9_qemu_smp. bfin: * Remove unused magic linker command file allocation of initialization stack. Maybe a previous linker command file copy and paste problem? In the start.S the initialization stack is set to a hard coded value. lm32, m32c, mips, nios2, riscv, sh, v850: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. m68k: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. powerpc: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. * Used dedicated memory region (REGION_RTEMSSTACK) for the interrupt stack on BSPs using the shared linkcmds.base (replacement for REGION_RWEXTRA). sparc: * Remove the hard coded initialization stack. Use the interrupt stack for the initialization stack on the boot processor. This saves 16KiB of RAM. Update #3459.
2018-06-15Add _CPU_Counter_frequency()Sebastian Huber1-3/+5
Add rtems_counter_frequency() API function. Use it to initialize the counter value converter via the new system initialization step (RTEMS_SYSINIT_CPU_COUNTER). This decouples the counter implementation and the counter converter. It avoids an unnecessary pull in of the 64-bit integer division from libgcc. Update #3456.
2018-04-20bsps: Move startup files to bspsSebastian Huber1-0/+0
Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285.
2018-04-20bsps: Convert all bsp_predriver_hook()Sebastian Huber1-0/+19
Use RTEMS_SYSINIT_ITEM() instead. Update #2408.
2017-11-22powerpc: Remove _BSP_Fatal_error()Sebastian Huber1-6/+0
BSPs can use the bsp_fatal_extension() to provide BSP-specific fatal error handling. There is no need for a _BSP_Fatal_error(). Close #3246.
2017-11-22powerpc: Replace BSP_panic() with rtems_panic()Sebastian Huber1-8/+2
Due to a new rtems_panic() implementation, it is possible to replace the PowerPC-specific BSP_panic() with rtems_panic(). Remove BSP_panic() implementations. Close #3245.
2017-02-15bsps/powerpc: Fix warningsSebastian Huber1-1/+2
2015-12-10bsps/powerpc: Use default bsp_pretasking_hook()Sebastian Huber1-7/+0
Update #2408.
2014-12-23Use fixed-width C99 types for PowerPC in_be16() and co.Nick Withers1-2/+2
Also use the const qualifier on the address pointer's target in in_*() Closes #2128
2014-10-19powerpc/mvme3100: Fix warningsJoel Sherrill1-7/+7
2014-10-16mvme3100/startup/bspstart.c: Remove myCpu variables and clean upJoel Sherrill1-246/+247
2014-10-09powerpc/mvme3100/startup/bspstart.c: Add include of <bsp/bootcard.h> to fix ↵Joel Sherrill1-5/+5
warning and clean up
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-02-19powerpc: Change interrupt disable implemetationSebastian Huber1-5/+1
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.
2014-02-14score: Add CPU counter supportSebastian Huber1-0/+4
Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
2012-11-15bsps/powerpc: Exception initialization error is fatalSebastian Huber1-5/+1
2012-11-07sapi: Delete duplicate declarationsSebastian Huber1-7/+0
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.
2010-08-202010-08-20 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+2
PR 1685/bsps * startup/bspstart.c: Add BSP_poll_char.
2009-11-30Whitespace removal.Ralf Corsepius1-8/+8
2009-10-23Update for exception support changes.Thomas Doerfler1-4/+8
2009-10-202009-10-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-5/+5
* startup/bspstart.c, startup/misc.c: Fixed compiler warnings by adding prototypes to function declarations and moving extern declarations to global scope.
2009-10-202009-10-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-1/+2
* start/start.S, startup/bspstart.c: let 'save_boot_params()' return a pointer to the commandline saved by the BSP and pass this pointer on to 'boot_card()'.
2009-03-052009-03-05 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-30/+1
* include/bsp.h, start/start.S, startup/bspstart.c: removed BSP_INIT_STACK_SIZE -- this BSP now also uses __stack defined by the linker script for the initial stack. Removed legacy code (inherited from old mvme2307 BSP but not relevant to this one) that tested trapping into PPCBug.
2008-09-30Remove BSP_build_date.Ralf Corsepius1-4/+0
2008-09-152008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-36/+3
* Makefile.am, configure.ac, include/bsp.h, include/bspopts.h.in, startup/bspstart.c: Add use of bsp_get_work_area() in its own file and rely on BSP Framework to perform more initialization.
2008-09-102008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-2/+1
* startup/bspstart.c: Review of all bsp_cleanup() implementations. In this phase, all prototypes were removed from bsp.h and empty implementations were removed and made to use the shared stub.
2008-08-20Add missing prototypes.Ralf Corsepius1-1/+1
2008-07-182008-07-18 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-2/+0
* startup/bspstart.c: removed warning about SPRG0 now being used for IRQ mask; this BSP is OK.
2008-07-11adapted powerpc BSPs to new exception codeThomas Doerfler1-32/+22
2008-03-212007-03-20 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-4/+0
* include/bsp.h, startup/bspstart.c: confdefs.h now wants us to use BSP_INTERRUPT_STACK_SIZE instead of CONFIGURE_INTERRUPT_STACK_MEMORY. Removed reference to CONFIGURE_INTERRUPT_STACK_MEMORY from bspstart.c
2008-03-062007-03-05 Till Straumann <strauman@slac.stanford.edu>Till Straumann1-13/+48
* start/start.S, startup/bspstart.c: disable memory-select errors early (in start.S) to avoid hangs due to speculative memory access (motload maps absent memory in TLBs). Remove TLB mappings for which no physical memory is installed (bspstart). Enable HID1[RFXE] so that 'core_fault_in' errors result in a machine-check rather than stalling the machine. Re-enable memory-select errors at this point.
2008-01-292008-01-29 Eric Norum <norume@aps.anl.gov>Joel Sherrill1-0/+13
* startup/bspstart.c: Fixes a lockup which occurs when a speculative load occurs from a particular range of memory.