arm64/cache: Move CLIDR macro definitions
authorAkihiko Odaki <akihiko.odaki@daynix.com>
Thu, 12 Jan 2023 02:38:49 +0000 (11:38 +0900)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 12 Jan 2023 21:07:43 +0000 (21:07 +0000)
The macros are useful for KVM which needs to manage how CLIDR is exposed
to vcpu so move them to include/asm/cache.h, which KVM can refer to.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Link: https://lore.kernel.org/r/20230112023852.42012-5-akihiko.odaki@daynix.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/include/asm/cache.h
arch/arm64/kernel/cacheinfo.c

index c0b178d1bb4f06b6fc99460084c26718798df35b..ab7133654a72a5caaca8aab4772ea39367a06843 100644 (file)
 #define CLIDR_LOC(clidr)       (((clidr) >> CLIDR_LOC_SHIFT) & 0x7)
 #define CLIDR_LOUIS(clidr)     (((clidr) >> CLIDR_LOUIS_SHIFT) & 0x7)
 
+/* Ctypen, bits[3(n - 1) + 2 : 3(n - 1)], for n = 1 to 7 */
+#define CLIDR_CTYPE_SHIFT(level)       (3 * (level - 1))
+#define CLIDR_CTYPE_MASK(level)                (7 << CLIDR_CTYPE_SHIFT(level))
+#define CLIDR_CTYPE(clidr, level)      \
+       (((clidr) & CLIDR_CTYPE_MASK(level)) >> CLIDR_CTYPE_SHIFT(level))
+
 /*
  * Memory returned by kmalloc() may be used for DMA, so we must make
  * sure that all such allocations are cache aligned. Otherwise,
index 97c42be71338a9ee29b79ce823592d238c5ba0fe..daa7b3f55997aafd46a58f07cfa73d2eaacf0b7a 100644 (file)
 #include <linux/of.h>
 
 #define MAX_CACHE_LEVEL                        7       /* Max 7 level supported */
-/* Ctypen, bits[3(n - 1) + 2 : 3(n - 1)], for n = 1 to 7 */
-#define CLIDR_CTYPE_SHIFT(level)       (3 * (level - 1))
-#define CLIDR_CTYPE_MASK(level)                (7 << CLIDR_CTYPE_SHIFT(level))
-#define CLIDR_CTYPE(clidr, level)      \
-       (((clidr) & CLIDR_CTYPE_MASK(level)) >> CLIDR_CTYPE_SHIFT(level))
 
 int cache_line_size(void)
 {