
Hi,
In order to correctly exectute some binaries on some arch we need to flush the data cache or instructions cache. Some arch offer helper functions for this while others don't (or don't have the ability to do this in hardware). Introduce some kconfig option name SYS_HAVE_DCACHE_MAINTENANCE and SYS_HAVE_ICACHE_MAINTENANCE and enable it on some arm CPU that have cache maintenance helpers. I cannot test all arch but arch maintainers are welcome to select thoses options where it is appropriate. The three last patches are the place we need to flush the cache while trying to boot the FreeBSD loader and have been in FreeBSD since a long time now.
Emmanuel Vadot (5): arch: Add SYS_HAVE_DCACHE_MAINTENANCE and SYS_HAVE_ICACHE_MAINTENANCE arch: arm: Select SYS_HAVE_{D,I}CACHE_MAINTENANCE kconfig where appropriate api: Flush cache when closing api cmd: go: Flush cache before starting cmd: bootelf: Flush cache before starting
api/api.c | 11 +++++++++++ arch/Kconfig | 12 ++++++++++++ arch/arm/Kconfig | 7 +++++++ cmd/boot.c | 10 ++++++++++ cmd/elf.c | 11 +++++++++++ 5 files changed, 51 insertions(+)