[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