[PATCH v2 0/5] Support external CMO to flush entire cache

Nick Hu nick.hu at sifive.com
Thu May 8 22:09:11 PDT 2025


Hi

Any feedback about this?

On Thu, Apr 24, 2025 at 11:40 AM Nick Hu <nick.hu at sifive.com> wrote:
>
> 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.
>
> Changes in v2:
> - Since the platform override hooks was deprecated, use the fdt_driver
> for initializing the sifive_dev_platform.
>
> Nick Hu (3):
>   lib: utils: Add cache flush library
>   lib: utils: Add FDT cache library
>   lib: utils/cache: Add fdt cmo helpers
>
> Vincent Chen (2):
>   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              | 112 +++++++++++
>  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 |  42 +++++
>  15 files changed, 652 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