summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2016-07-17 18:21:48 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2016-07-20 16:46:04 +0200
commit3338121832ab0fef34c1295f7328122a293ae850 (patch)
treea2310de20d407b22d281669c1cbffbe64881a6c3 /c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h
parentarm/raspberrypi: cache manager can be used for mailbox synchronization now. R... (diff)
downloadrtems-3338121832ab0fef34c1295f7328122a293ae850.tar.bz2
bsps/arm: do not disable MMU during translation table management operations.
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 }
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions