[PATCH 0/6] Update of cache maintenance for ARM and Raspberry Pi specially, generic libdl correction.

pisa at cmp.felk.cvut.cz pisa at cmp.felk.cvut.cz
Sun Jul 17 22:48:36 UTC 2016

From: Pavel Pisa <pisa at 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
  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(-)


More information about the devel mailing list