summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/shared (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
* bsps/arm: Change code to explicit selection of cache implementation for ARM ↵Pavel Pisa2016-10-021-104/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | BSPs. The original ARM architecture wide cache_.h is changed to dummy version for targets not implementing/enablig cache at all. The ARM targets equipped by cache should include appropriate implementation. Next options are available for now c/src/lib/libbsp/arm/shared/armv467ar-basic-cache/cache_.h basic ARM cache integrated on the CPU core directly which requires only CP15 oparations c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h support for case where ARM L2C-310 cache controller is used. It is accessible as mmaped peripheral. c/src/lib/libbsp/arm/shared/armv7m/include/cache_.h Cortex-M specific cache support Updates #2782 Updates #2783
* 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
* beagle bsp: RTC support for BBBragunath2015-05-282-0/+26
|
* Replace www.rtems.com with www.rtems.orgSebastian Huber2015-03-202-2/+2
|
* beagle bsp: disable watchdog on am335xBen Gras2014-12-051-0/+6
| | | | | | | | | | | | On recent u-boots, the watchdog is turned on / left enabled. The Beaglebone Black rev. C ships with such a u-boot internally so any application booting from it must disable the watchdog. Therefore this change is needed to boot an RTEMS app out-of-the-box on a BBB Rev C - otherwise the user button must be held during boot (to bypass the stock uboot) or the internal uboot must be updated. To allow for a better out-of-the-box experience, we just turn off the watchdog.
* Add some generic ARM am335x and omap definitionsBen Gras2014-11-033-0/+692
|
* libcpu/arm/shared/../mmu: Fix warningsJoel Sherrill2014-10-162-4/+11
|
* 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-212-2/+2
|
* 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
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-113-6/+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.
* 2011-06-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-06-072-139/+115
| | | | | * shared/include/cache_.h: Moved content of "cache.h" to "cache_.h". * shared/include/cache.h: Removed file.
* 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
|
* Fixed _CPU_cache_disable_data()Thomas Doerfler2010-03-121-2/+1
|
* add support for lpc32xxThomas Doerfler2010-01-124-131/+818
|
* Whitespace removal.Ralf Corsepius2009-11-301-4/+4
|
* 2006-06-02 Jay MonkmanJay Monkman2006-06-031-1/+11
| | | | | | | | * at91rm9200/irq/bsp_irq_init.c, mc9328mxl/clock/clockdrv.c, mc9328mxl/irq/bsp_irq_asm.S, mc9328mxl/irq/bsp_irq_init.c, mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h, s3c2400/irq/bsp_irq_init.c: Changed interrupt handling to use shared rtems_irq_connect_data struct.
* Remove.Ralf Corsepius2005-05-111-2/+0
|
* Remove.Ralf Corsepius2005-05-111-41/+0
|
* 2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-071-1/+1
| | | | | * at91rm9200/Makefile.am, mc9328mxl/Makefile.am, shared/Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
* 2005-01-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-01-041-2/+2
| | | | | | * at91rm9200/clock/clock.c, at91rm9200/irq/irq.c, at91rm9200/pmc/pmc.c, mc9328mxl/clock/clockdrv.c, mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h, shared/arm920/mmu.c: Remove warnings.
* 2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-021-14/+3
| | | | | * at91rm9200/Makefile.am, mc9328mxl/Makefile.am, shared/Makefile.am: Remove build-variant support.
* 2005-01-02 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2005-01-021-4/+0
| | | | | | | * ChangeLog: Merge-in at91rm9200/ChangeLog, mc9328mxl/ChangeLog, shared/ChangeLog. * at91rm9200/ChangeLog, mc9328mxl/ChangeLog, shared/ChangeLog: Remove.
* Reformat.Ralf Corsepius2004-10-261-4/+2
|