| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When HYP mode is detected at startup then setup HYP mode
vectors table (for future extensions) clean exceptions
switching to HYP mode and switch CPU to ARM SVC mode.
BSPs which want to use this support need to include next option
in their configure.ac
RTEMS_BSPOPTS_SET([BSP_START_IN_HYP_SUPPORT],[*],[1])
RTEMS_BSPOPTS_HELP([BSP_START_IN_HYP_SUPPORT], [Support start of BSP in ARM HYP mode])
AM_CONDITIONAL(BSP_START_IN_HYP_SUPPORT,test "$BSP_START_IN_HYP_SUPPORT" = "1")
and need to include next lines in corresponding Makefile.am
if BSP_START_IN_HYP_SUPPORT
libbsp_a_SOURCES += ../shared/startup/bsp-start-in-hyp-support.S
endif
Updates #2783
|
|
|
|
|
|
|
| |
This lets the table be changed at runtime for dynamic loading and
debugger support.
Closes #2775.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
architecture variants now.
Next cache operations should work on most of cores now
rtems_cache_flush_entire_data()
rtems_cache_invalidate_entire_data()
rtems_cache_invalidate_entire_instruction()
Instruction cache invalidate works on the first level for now only.
Data cacache operations are extended to ensure flush/invalidate
on all cache levels.
The CP15 arm_cp15_data_cache_clean_all_levels() function extended
to continue through unified levels too (ctype = 4).
Updates #2782
Updates #2783
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The basic data and instruction rage functions should be compatible
for all ARMv4,5,6,7 functions. On the other hand, some functions
are not portable, for example arm_cp15_data_cache_test_and_clean()
and arm_cp15_data_cache_invalidate() for all versions and there
has to be specialized version for newer cores.
arm_cache_l1_properties_for_level uses CCSIDR which is not present
on older chips.
Actual version is only experimental, needs more changes
and problem has been found on RPi1 with dlopen so there seems
to be real problem.
Updates #2783
Updates #2782
|
|
|
|
| |
Close #2530.
|
| |
|
|
|
|
|
| |
This section can be use to provide a cache coherent memory area via
rtems_cache_coherent_add_area().
|
| |
|
|
|
|
| |
Use Termios device API.
|
|
|
|
|
| |
This is necessary to use the CPU counter converter even in case no clock
driver is present, e.g. in tmcontext01.
|
| |
|
| |
|
|
|
|
|
|
| |
Rename bsp_mm_config_table to arm_cp15_start_mmu_config_table and
rename bsp_mm_config_table_size to arm_cp15_start_mmu_config_table_size
to be in line with the other names in <bsp/arm-cp15-start.h>.
|
|
|
|
|
| |
Do not touch the L1 caches since they have been initialized by the start
hooks.
|
|
|
|
|
| |
Define ARM_CP15_TEXT_SECTION to BSP_START_TEXT_SECTION so that the
start code is in the right section.
|
|
|
|
| |
Delete superfluous/incorrect interrupt disable/enable.
|
|
|
|
| |
Invalidate entire branch predictor array.
|
|
|
|
| |
Enable SCU only on the boot processor.
|
|
|
|
| |
Add arm_a9mpcore_start_enable_smp_in_auxiliary_control().
|
|
|
|
|
| |
Add arm_a9mpcore_start_on_secondary_processor(). Rely on error checks
in _SMP_Start_multitasking_on_secondary_processor().
|
| |
|
| |
|
|
|
|
| |
Add new methods which deliver the cache sizes of for supported cache levels.
|
| |
|
|
|
|
| |
Correct misalignment handling and prepare for locking.
|
|
|
|
|
| |
It is importeant to consistently apply the same handling for flushing within
level 2 and level 1 cache handling. In this case now both handling use clean and invalidate.
|
|
|
|
| |
Move the RTEMS_SMP conditional compilation to the detection method of arm erratum 764369
|
|
|
|
| |
Execute the SCU part of the workaround of arm erratum 764368 after the SCU was enabled.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
arm-l2c-310/cache_.h contains the handling for the L2C-310
level 2 cache controller from arm. It references the arm
level 1 cache handling in the new file arm-cache-l1.h.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Rename rtems_smp_process_interrupt() into
_SMP_Inter_processor_interrupt_handler(). Delete unused header file
<rtems/bspsmp.h>.
|
|
|
|
|
|
| |
Rename rtems_smp_secondary_cpu_initialize() into
_SMP_Start_multitasking_on_secondary_processor(). Move declaration to
<rtems/score/smpimpl.h>.
|
|
|
|
|
|
| |
Use the Global Timer for the Cortex-A9 MPCore clock driver instead of
the Private Timer. This enables a consistent nanoseconds since last
context switch value across all processors.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ALIGN_WITH_INPUT helps to make this linker script more reliable.
See also:
https://sourceware.org/ml/binutils/2013-06/msg00246.html
https://sourceware.org/binutils/docs-2.24/ld/Forced-Output-Alignment.html#Forced-Output-Alignment
This reverts commit 4a9e52eefc510d7022ddc61c4ecde8db6b9a0217.
This reverts commit 1ab4f76900d012b5a9dbce2851add060f11ce13a.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This allows an application to provide a localised clock freq with
needing to go down the BSP opts path. This is important with the
Zynq where the Xilinx tools generate the frequency.
|
|
|
|
|
|
|
| |
This reverts commit 287bbb65afd24ffc6254ae5f328733213f184205.
Conflicts:
c/src/lib/libbsp/arm/shared/startup/linkcmds.base
|
|
|
|
| |
This requires at least Binutils 2.24.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This patch refactors a lot of the existing doxygen within libbsp/arm/lpc32xx.
Much of this refactoring was just renaming of existing groups to conform to a
more consistent naming structure. With the addition of a doxygen header for
tm27.h, all files within lpc32xx belong to doxygen group now. lpc32xx should
be used a reference for adding doxygen to other bsps.
|