[PATCH 0/5] Support external CMO to flush entire cache
Nick Hu
nick.hu at sifive.com
Sun Apr 20 23:25:03 PDT 2025
Some features, such as power management, may require flushing the entire
cache before entering a non-retention power state. To support this, a
simple cache framework is introduced to allow the external CMO to
perform a full cache flush.
Nick Hu (3):
lib: utils/cache: Add cache flush library
lib: utils/cache: Add FDT cache library
lib: utils/cache: Add fdt cmo helpers
Vincent Chen (2):
lib: utils/cache: Add SiFive ccache controller
platform: generic: Add SiFive development platform
include/sbi_utils/cache/cache.h | 69 +++++++
include/sbi_utils/cache/fdt_cache.h | 34 ++++
include/sbi_utils/cache/fdt_cmo_helper.h | 34 ++++
lib/utils/Kconfig | 2 +
lib/utils/cache/Kconfig | 23 +++
lib/utils/cache/cache.c | 46 +++++
lib/utils/cache/fdt_cache.c | 87 +++++++++
lib/utils/cache/fdt_cache_drivers.carray | 3 +
lib/utils/cache/fdt_cmo_helper.c | 111 +++++++++++
lib/utils/cache/fdt_sifive_ccache.c | 175 ++++++++++++++++++
lib/utils/cache/objects.mk | 14 ++
platform/generic/Kconfig | 5 +
platform/generic/configs/defconfig | 3 +
platform/generic/sifive/objects.mk | 3 +
platform/generic/sifive/sifive_dev_platform.c | 31 ++++
15 files changed, 640 insertions(+)
create mode 100644 include/sbi_utils/cache/cache.h
create mode 100644 include/sbi_utils/cache/fdt_cache.h
create mode 100644 include/sbi_utils/cache/fdt_cmo_helper.h
create mode 100644 lib/utils/cache/Kconfig
create mode 100644 lib/utils/cache/cache.c
create mode 100644 lib/utils/cache/fdt_cache.c
create mode 100644 lib/utils/cache/fdt_cache_drivers.carray
create mode 100644 lib/utils/cache/fdt_cmo_helper.c
create mode 100644 lib/utils/cache/fdt_sifive_ccache.c
create mode 100644 lib/utils/cache/objects.mk
create mode 100644 platform/generic/sifive/sifive_dev_platform.c
--
2.17.1
More information about the opensbi
mailing list