summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/shared/include/arm-cp15.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-10-02bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by ↵Pavel Pisa1-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
2016-10-02bsps/arm: use defines for cache type register format field.Pavel Pisa1-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
2016-10-02arm/bsps: CP15 and basic cache support entire cache clean for more ↵Pavel Pisa1-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
2016-10-02bsps/arm: do not disable MMU during translation table management operations.Pavel Pisa1-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
2016-10-02bsps/arm: basic on core cache support changed to use l1 functions.Pavel Pisa1-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
2016-10-02arm/score and shared: define ARM hypervisor mode and alternate vector table ↵Pavel Pisa1-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
2016-10-02bsps/arm: CP15 support for flush prefetch buffer and table base control.Pavel Pisa1-0/+48
Updates #2782 Updates #2783
2014-06-06bsps/arm: Fix TLB invalidation for ARMv7-ASebastian Huber1-0/+7
2014-06-05bsps/arm: Add ARM_CP15_TEXT_SECTIONSebastian Huber1-63/+134
Allow users of this header file to optionally place the inline functions into a non-standard section.
2014-06-05bsps/arm: Add all level data cache invalidationSebastian Huber1-2/+63
2014-06-05bsps/arm: TypoSebastian Huber1-1/+1
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-13bsp/arm: Add CP15 methodsRalf Kirchner1-1/+98
2014-01-13bsps/arm: Use Normal memory for code and dataSebastian Huber1-3/+7
2013-10-27bsps/arm: ARMV7_MMU_DATA_READ_WRITE_SHAREABLESebastian Huber1-5/+9
Delete ARMV7_MMU_DATA_READ_WRITE_SHAREABLE and move RTEMS_SMP specific MMU attribute settings to arm-cp15.h.
2013-10-03Add a new necessary definition needed for raspberrypi MMU supportHesham AL-Matary1-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.
2013-09-05bsps/arm: Fix ARM CP15 opcode for get functionsSebastian Huber1-3/+3
2013-08-22bsps/arm: Add more CP15 cache functionsRic Claus1-0/+65
2013-06-20bsps/arm: Set vector base address if necessarySebastian Huber1-0/+47
2013-05-31bsps/arm: Add SMP supportSebastian Huber1-0/+57
2013-05-31bsps/arm: Use Write-Allocate cache for ARMv7Sebastian Huber1-2/+2
2013-05-31bsps/arm: Merge ARMv7 MMU section definitionsSebastian Huber1-0/+43
2013-05-06bsps/arm: Remove superfluous parameterSebastian Huber1-2/+1
2013-05-03bsps/arm: Support ARMv7 VMSA sections and controlSebastian Huber1-4/+29
2013-05-03bsps/arm: Add arm_cp15_set_exception_handler()Sebastian Huber1-0/+6
2013-05-03bsps/arm: Add arm_cp15_set_trans*_table_entries()Sebastian Huber1-0/+11
2013-05-03bsps/arm: Add arm_cp15_mmu_disable()Sebastian Huber1-0/+46
2013-05-03bsps/arm: Add arm_cp15_get_min_cache_line_size()Sebastian Huber1-6/+26
2013-04-17D-cache clean&&invalidate for Tiny6410Peng Fan1-0/+21
2011-02-112011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-38/+38
* pxa255/pmc/pmc.c, shared/include/arm-cp15.h: Use "__asm__" instead of "asm" for improved c99-compliance.
2010-04-09Documentation. Fixed mask defines.Thomas Doerfler1-147/+199
2010-01-12add support for lpc32xxThomas Doerfler1-0/+644