Hi,
The main purpose of this series is to expose CPU cache attributes for
OpenRISC in sysfs using the cacheinfo API. The core implementation
to achieve this is in patch #3. Patch #1 and #2 add certain enhancements
to simplify the implementation of cacheinfo support.
Patch #1 removes duplication of cache-related data members in struct
cpuinfo_or1k.
Patch #2 introduces several utility functions. One set of functions is
used to check if the cache components and SPRs exist before attempting
to use them. The other set provides a convenient interface to flush or
invalidate a range of cache blocks.
This version addresses review comments posted in response to v3. In
commit #2, I chose not to make "cache_loop_page()" inline after reading
point 15 in the coding style doc [1]. Let me know if it should be made
inline.
Thanks,
Sahil
[1] https://www.kernel.org/doc/html/latest/process/coding-style.html
Sahil Siddiq (3):
openrisc: Refactor struct cpuinfo_or1k to reduce duplication
openrisc: Introduce new utility functions to flush and invalidate
caches
openrisc: Add cacheinfo support
arch/openrisc/include/asm/cacheflush.h | 17 ++++
arch/openrisc/include/asm/cpuinfo.h | 31 ++++++--
arch/openrisc/kernel/Makefile | 2 +-
arch/openrisc/kernel/cacheinfo.c | 104 +++++++++++++++++++++++++
arch/openrisc/kernel/dma.c | 18 +----
arch/openrisc/kernel/setup.c | 45 +----------
arch/openrisc/mm/cache.c | 87 +++++++++++++++++++--
arch/openrisc/mm/init.c | 5 +-
8 files changed, 235 insertions(+), 74 deletions(-)
create mode 100644 arch/openrisc/kernel/cacheinfo.c
base-commit: ea1413e5b53a8dd4fa7675edb23cdf828bbdce1e
--
2.48.1