From: Pavel Pisa <p...@cmp.felk.cvut.cz> The changes correct libdl operation on targets which do not snoop data change during instruction cache fill.
Text section/the first 1 MB of data has been noncacheable after VideoCore support inclusion. Enabling cache of this area has revealed problem with stalled data left by loader in the cache. Cache manager updates overcomes these troubles. The changes lead to 40x speedup of dhrystones test on RPi2 and 20x on RPi1. There is still some problem with VideoCore graphic support. VideoCore mailbox seems to work correctly for other simpler operation but some parameters during graphic setup lead to error. Pavel Pisa (6): arm/raspberrypi: cache manager can be used for mailbox synchronization now. Remove workarounds. bsps/arm: do not disable MMU during translation table management operations. arm/bsps: CP15 and basic cache support entire cache clean for more architecture variants now. arm/raspberrypi: use cache manager operations to flush/invalidate all cache levels. arm/raspberrypi: reorder and update MMU config table to nor force RW section later to RO. libdl/rtl-obj.c: synchronize cache after code relocation. c/src/lib/libbsp/arm/raspberrypi/misc/vc.c | 35 +---------- .../libbsp/arm/raspberrypi/startup/bspstarthooks.c | 14 ++--- .../arm/raspberrypi/startup/mm_config_table.c | 31 +++++++--- .../libbsp/arm/shared/arm-cp15-set-ttb-entries.c | 50 +++++++++++++--- .../arm/shared/armv467ar-basic-cache/cache_.h | 22 ++++++- c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h | 6 +- c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 60 ++++++++++++++++++- cpukit/libdl/rtl-elf.c | 3 + cpukit/libdl/rtl-obj.c | 67 +++++++++++++++++++++- cpukit/libdl/rtl-obj.h | 9 +++ cpukit/libdl/rtl-rap.c | 3 + 11 files changed, 235 insertions(+), 65 deletions(-) -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel