summaryrefslogtreecommitdiffstats
path: root/bsps/shared/start (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Fix format specifierSebastian Huber2022-09-231-1/+1
| | | | Close #4722.
* bsps/shared/: Use device tree blobPadmarao Begari2022-09-201-0/+8
| | | | | | If the bsp is integrated and supported a device tree blob(dtb) then use dtb instead of using it from the U-Boot (BSP_START_COPY_FDT_FROM_U_BOOT=False).
* bsps/shared/*: Change license to BSD-2Joel Sherrill2022-06-1512-36/+264
| | | | Updates #3053.
* bsps/shared/: Scripted embedded brains header file clean upJoel Sherrill2022-03-103-18/+0
| | | | Updates #4625.
* bsps: Avoid use of memcpy() in bsp_fdt_copy()Sebastian Huber2022-01-191-1/+1
| | | | | The memcpy() function may be not loaded at the time bsp_fdt_copy() is called.
* Fix device tree blob alignmentSebastian Huber2022-01-111-4/+4
| | | | A device tree blob must be aligned on an 8-byte boundary.
* libc: Optimize malloc() initializationSebastian Huber2021-11-302-0/+98
| | | | | | | | | | | | | | | | The BSPs provide memory for the separate C Program Heap initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the separate C Program Heap and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs. Change licence to BSD-2-Clause according to file history. Update #3053.
* score: Optimize Workspace Handler initializationSebastian Huber2021-11-302-0/+92
| | | | | | | | | | | | The BSPs provide memory for the workspace initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the workspace handler and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs.
* bsps/shared: Add PSCI SMP startup supportKinsey Moore2021-09-211-0/+92
| | | | | | | | This adds the SMP function that supports spinup of additional CPU cores using the ARM standard PSCI inteface. This interface is provided by QEMU as well as ARM Trusted Firmware running in monitor mode (EL3) on ARMv7 and AArch64 CPUs. This supports activation va SMC or HVC instructions depending on BSP configuration.
* bsps: Fix bsp_fatal_extension()Sebastian Huber2021-07-231-0/+3
| | | | The heap protection is conditional.
* bsp: Remove fatal from exit(0). Add extended heap error outputChris Johns2021-07-231-13/+70
|
* bsps: Fix legacy buildSebastian Huber2021-02-261-4/+0
|
* bsps: Add default rtems_get_target_hash()Sebastian Huber2021-02-261-0/+66
| | | | Update #4267.
* bsps: Change license to BSD-2-Clause of some filesSebastian Huber2021-02-241-9/+34
| | | | | | | Change license to BSD-2-Clause according to file histories and re-licensing agreement. Update #3899.
* bsps: Print CPU in default fatal error extensionSebastian Huber2020-12-101-1/+8
|
* bsps/shared: Add PSCI-based bspreset implementationKinsey Moore2020-10-051-0/+56
| | | | | This adds a bsp_reset implementation based on the ARM PSCI specification often present in ARMv8 systems.
* bsps/fdt: Make sure data is cache alignedChristian Mauderer2020-07-311-3/+5
| | | | | The cache of the fdt blob is flushed after copy. Therefore it should be aligned.
* config: Add CONFIGURE_DIRTY_MEMORYSebastian Huber2020-02-061-13/+0
| | | | | | | Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY configuration option. Update #3843.
* bsps: Rework work area initializationSebastian Huber2020-02-042-18/+39
| | | | | | | | | | | | | | | | | | | | The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
* record: Allow tracing of ISR disable/enableSebastian Huber2019-09-061-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Directly use the CPU port API in boot_card() to allow tracing of the higher level interrupt disable/enable routines, e.g. _ISR_Local_disable() and _ISR_Local_enable(). Currently, there is no configuration option to enable this. Below is a patch. It may be used to investigate some nasty low level bugs in the system. Update #3665. diff --git a/cpukit/include/rtems/score/isrlevel.h b/cpukit/include/rtems/score/isrlevel.h index c42451d010..46d361ddc2 100644 --- a/cpukit/include/rtems/score/isrlevel.h +++ b/cpukit/include/rtems/score/isrlevel.h @@ -40,6 +40,10 @@ extern "C" { */ typedef uint32_t ISR_Level; +uint32_t rtems_record_interrupt_disable( void ); + +void rtems_record_interrupt_enable( uint32_t level ); + /** * @brief Disables interrupts on this processor. * @@ -56,8 +60,7 @@ typedef uint32_t ISR_Level; */ #define _ISR_Local_disable( _level ) \ do { \ - _CPU_ISR_Disable( _level ); \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ + _level = rtems_record_interrupt_disable(); \ } while (0) /** @@ -72,10 +75,7 @@ typedef uint32_t ISR_Level; * _ISR_Local_disable(). */ #define _ISR_Local_enable( _level ) \ - do { \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ - _CPU_ISR_Enable( _level ); \ - } while (0) + rtems_record_interrupt_enable( _level ) /** * @brief Temporarily enables interrupts on this processor. @@ -98,9 +98,8 @@ typedef uint32_t ISR_Level; */ #define _ISR_Local_flash( _level ) \ do { \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ - _CPU_ISR_Flash( _level ); \ - RTEMS_COMPILER_MEMORY_BARRIER(); \ + rtems_record_interrupt_enable( _level ); \ + _level = rtems_record_interrupt_disable(); \ } while (0) /
* Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZESebastian Huber2019-07-301-1/+1
|
* bsps: Adjust architecture Doxygen groupsSebastian Huber2019-03-042-15/+2
| | | | | | | | | | - Use CamelCase as it is not used in our C code. Enables simple search and replace. - Prefix with "RTEMS" to aid deployment and integration. It aids searching and sorting. Update #3706.
* bsps: BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGINSebastian Huber2018-09-031-7/+0
| | | | | | | Remove the BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN hack. The interrupt stacks are now allocated by the linker. Update #3459.
* bsps: Move bspsmpgetcurrentprocessor.c to bspsSebastian Huber2018-04-201-0/+15
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bspsmp.c to bspsSebastian Huber2018-04-201-0/+35
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move setvec.c to bspsSebastian Huber2018-04-201-0/+43
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move sbrk.c to bspsSebastian Huber2018-04-201-0/+28
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Convert all bsp_predriver_hook()Sebastian Huber2018-04-201-6/+0
| | | | | | Use RTEMS_SYSINIT_ITEM() instead. Update #2408.
* bsps: Move bspgetworkarea.c to bspsSebastian Huber2018-04-201-0/+62
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bspstart.c to bspsSebastian Huber2018-04-201-0/+20
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bspreset_loop.c to bspsSebastian Huber2018-04-201-0/+17
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bspreset.c to bspsSebastian Huber2018-04-201-0/+17
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bspclean.c to bspsSebastian Huber2018-04-201-0/+99
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move stackalloc.c to bspsSebastian Huber2018-04-161-0/+65
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bsp-uboot-board-info.c to bspsSebastian Huber2018-04-161-0/+32
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bsp-fdt.c to bspsSebastian Huber2018-04-161-0/+65
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Move bootcard.c to bspsSebastian Huber2018-04-121-0/+85
This patch is a part of the BSP source reorganization. Update #3285.