summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/shared/include/arm-cp15.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by ↵Pavel Pisa2016-10-021-48/+60
| | | | | | | | | | level. New function arm_cp15_cache_invalidate_level and arm_cp15_cache_clean_level can be used to maintain single cache level (instruction or data). Updates #2782 Updates #2783
* bsps/arm: use defines for cache type register format field.Pavel Pisa2016-10-021-9/+30
| | | | | | | | | The change documents meaning of codes and opens well defined way to use cache type format for cache examination/debugging outside of arm-cp15.h file. Updates #2782 Updates #2783
* arm/bsps: CP15 and basic cache support entire cache clean for more ↵Pavel Pisa2016-10-021-2/+42
| | | | | | | | | | | | | | | | | | | | 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
* bsps/arm: do not disable MMU during translation table management operations.Pavel Pisa2016-10-021-0/+16
| | | | | | | | | | | | | | | | | | | | | | | Disabling MMU requires complex cache flushing and invalidation operations. There is almost no way how to do that right on SMP system without stopping all other CPUs. On the other hand, there is documented sequence of operations which should be used according to ARM manual and it guarantees even distribution of maintenance operations to other cores for last generation of Cortex-A cores with multiprocessor extension. This change could require addition of appropriate entry to arm_cp15_start_mmu_config_table for some BSPs to ensure that MMU table stays accessible after MMU is enabled { .begin = (uint32_t) bsp_translation_table_base, .end = (uint32_t) bsp_translation_table_base + 0x4000, .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED } Updates #2782 Updates #2783
* bsps/arm: basic on core cache support changed to use l1 functions.Pavel Pisa2016-10-021-3/+28
| | | | | | | | | | | | | | | | | 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
* arm/score and shared: define ARM hypervisor mode and alternate vector table ↵Pavel Pisa2016-10-021-0/+30
| | | | | | | | | | | base access. The main reason for inclusion of minimum hypervisor related defines is that current ARM boards firmware and loaders (U-boot for example) start loaded operating system kernel in HYP mode to allow it take control of virtualization (Linux/KVM for example). Updates #2783
* bsps/arm: CP15 support for flush prefetch buffer and table base control.Pavel Pisa2016-10-021-0/+48
| | | | | Updates #2782 Updates #2783
* bsps/arm: Fix TLB invalidation for ARMv7-ASebastian Huber2014-06-061-0/+7
|
* bsps/arm: Add ARM_CP15_TEXT_SECTIONSebastian Huber2014-06-051-63/+134
| | | | | Allow users of this header file to optionally place the inline functions into a non-standard section.
* bsps/arm: Add all level data cache invalidationSebastian Huber2014-06-051-2/+63
|
* bsps/arm: TypoSebastian Huber2014-06-051-1/+1
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* bsp/arm: Add CP15 methodsRalf Kirchner2014-03-131-1/+98
|
* bsps/arm: Use Normal memory for code and dataSebastian Huber2014-01-131-3/+7
|
* bsps/arm: ARMV7_MMU_DATA_READ_WRITE_SHAREABLESebastian Huber2013-10-271-5/+9
| | | | | Delete ARMV7_MMU_DATA_READ_WRITE_SHAREABLE and move RTEMS_SMP specific MMU attribute settings to arm-cp15.h.
* Add a new necessary definition needed for raspberrypi MMU supportHesham AL-Matary2013-10-031-0/+21
| | | | | | | | | | | The new ARM_CP15_CTRL_XP is necessary to share ARMv6 and ARMv7 page-table formats and definitions. It enables the extended page tables (introduced in ARMv6) to be configured for the hardware page translation mechanism. This way we can share ARMv6 and ARMv7 page tables entry formats. Other Fault Status Register Definitions can be useful for debugging or excpetion handlers.
* bsps/arm: Fix ARM CP15 opcode for get functionsSebastian Huber2013-09-051-3/+3
|
* bsps/arm: Add more CP15 cache functionsRic Claus2013-08-221-0/+65
|
* bsps/arm: Set vector base address if necessarySebastian Huber2013-06-201-0/+47
|
* bsps/arm: Add SMP supportSebastian Huber2013-05-311-0/+57
|
* bsps/arm: Use Write-Allocate cache for ARMv7Sebastian Huber2013-05-311-2/+2
|
* bsps/arm: Merge ARMv7 MMU section definitionsSebastian Huber2013-05-311-0/+43
|
* bsps/arm: Remove superfluous parameterSebastian Huber2013-05-061-2/+1
|
* bsps/arm: Support ARMv7 VMSA sections and controlSebastian Huber2013-05-031-4/+29
|
* bsps/arm: Add arm_cp15_set_exception_handler()Sebastian Huber2013-05-031-0/+6
|
* bsps/arm: Add arm_cp15_set_trans*_table_entries()Sebastian Huber2013-05-031-0/+11
|
* bsps/arm: Add arm_cp15_mmu_disable()Sebastian Huber2013-05-031-0/+46
|
* bsps/arm: Add arm_cp15_get_min_cache_line_size()Sebastian Huber2013-05-031-6/+26
|
* D-cache clean&&invalidate for Tiny6410Peng Fan2013-04-171-0/+21
|
* 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-111-38/+38
| | | | | * pxa255/pmc/pmc.c, shared/include/arm-cp15.h: Use "__asm__" instead of "asm" for improved c99-compliance.
* Documentation. Fixed mask defines.Thomas Doerfler2010-04-091-147/+199
|
* add support for lpc32xxThomas Doerfler2010-01-121-0/+644