|
Mian Yousaf Kaukab |
70e7f9 |
From: Arnd Bergmann <arnd@arndb.de>
|
|
Mian Yousaf Kaukab |
70e7f9 |
Date: Mon, 26 Oct 2020 20:37:46 +0100
|
|
Mian Yousaf Kaukab |
70e7f9 |
Subject: arm64: avoid -Woverride-init warning
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
Git-commit: 332576e69a046b9b33f49bd0c3c071cc98215b60
|
|
Mian Yousaf Kaukab |
70e7f9 |
Patch-mainline: v5.10-rc2
|
|
Mian Yousaf Kaukab |
70e7f9 |
References: git-fixes
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
The icache_policy_str[] definition causes a warning when extra
|
|
Mian Yousaf Kaukab |
70e7f9 |
warning flags are enabled:
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:38:26: warning: initialized field overwritten [-Woverride-init]
|
|
Mian Yousaf Kaukab |
70e7f9 |
38 | [ICACHE_POLICY_VIPT] = "VIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
| ^~~~~~
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:38:26: note: (near initialization for 'icache_policy_str[2]')
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:39:26: warning: initialized field overwritten [-Woverride-init]
|
|
Mian Yousaf Kaukab |
70e7f9 |
39 | [ICACHE_POLICY_PIPT] = "PIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
| ^~~~~~
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:39:26: note: (near initialization for 'icache_policy_str[3]')
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:40:27: warning: initialized field overwritten [-Woverride-init]
|
|
Mian Yousaf Kaukab |
70e7f9 |
40 | [ICACHE_POLICY_VPIPT] = "VPIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
| ^~~~~~~
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c:40:27: note: (near initialization for 'icache_policy_str[0]')
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
There is no real need for the default initializer here, as printing a
|
|
Mian Yousaf Kaukab |
70e7f9 |
NULL string is harmless. Rewrite the logic to have an explicit
|
|
Mian Yousaf Kaukab |
70e7f9 |
reserved value for the only one that uses the default value.
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
This partially reverts the commit that removed ICACHE_POLICY_AIVIVT.
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
Fixes: 155433cb365e ("arm64: cache: Remove support for ASID-tagged VIVT I-caches")
|
|
Mian Yousaf Kaukab |
70e7f9 |
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
Mian Yousaf Kaukab |
70e7f9 |
Link: https://lore.kernel.org/r/20201026193807.3816388-1-arnd@kernel.org
|
|
Mian Yousaf Kaukab |
70e7f9 |
Signed-off-by: Will Deacon <will@kernel.org>
|
|
Mian Yousaf Kaukab |
70e7f9 |
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
|
|
Mian Yousaf Kaukab |
70e7f9 |
---
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/include/asm/cache.h | 1 +
|
|
Mian Yousaf Kaukab |
70e7f9 |
arch/arm64/kernel/cpuinfo.c | 8 ++++----
|
|
Mian Yousaf Kaukab |
70e7f9 |
2 files changed, 5 insertions(+), 4 deletions(-)
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
--- a/arch/arm64/include/asm/cache.h
|
|
Mian Yousaf Kaukab |
70e7f9 |
+++ b/arch/arm64/include/asm/cache.h
|
|
Mian Yousaf Kaukab |
70e7f9 |
@@ -24,6 +24,7 @@
|
|
Mian Yousaf Kaukab |
70e7f9 |
#define CTR_L1IP(ctr) (((ctr) >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK)
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
#define ICACHE_POLICY_VPIPT 0
|
|
Mian Yousaf Kaukab |
70e7f9 |
+#define ICACHE_POLICY_RESERVED 1
|
|
Mian Yousaf Kaukab |
70e7f9 |
#define ICACHE_POLICY_VIPT 2
|
|
Mian Yousaf Kaukab |
70e7f9 |
#define ICACHE_POLICY_PIPT 3
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
--- a/arch/arm64/kernel/cpuinfo.c
|
|
Mian Yousaf Kaukab |
70e7f9 |
+++ b/arch/arm64/kernel/cpuinfo.c
|
|
Mian Yousaf Kaukab |
70e7f9 |
@@ -34,10 +34,10 @@ DEFINE_PER_CPU(struct cpuinfo_arm64, cpu
|
|
Mian Yousaf Kaukab |
70e7f9 |
static struct cpuinfo_arm64 boot_cpu_data;
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
static char *icache_policy_str[] = {
|
|
Mian Yousaf Kaukab |
70e7f9 |
- [0 ... ICACHE_POLICY_PIPT] = "RESERVED/UNKNOWN",
|
|
Mian Yousaf Kaukab |
70e7f9 |
+ [ICACHE_POLICY_VPIPT] = "VPIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
+ [ICACHE_POLICY_RESERVED] = "RESERVED/UNKNOWN",
|
|
Mian Yousaf Kaukab |
70e7f9 |
[ICACHE_POLICY_VIPT] = "VIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
[ICACHE_POLICY_PIPT] = "PIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
- [ICACHE_POLICY_VPIPT] = "VPIPT",
|
|
Mian Yousaf Kaukab |
70e7f9 |
};
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
unsigned long __icache_flags;
|
|
Mian Yousaf Kaukab |
70e7f9 |
@@ -314,11 +314,11 @@ static void cpuinfo_detect_icache_policy
|
|
Mian Yousaf Kaukab |
70e7f9 |
case ICACHE_POLICY_VPIPT:
|
|
Mian Yousaf Kaukab |
70e7f9 |
set_bit(ICACHEF_VPIPT, &__icache_flags);
|
|
Mian Yousaf Kaukab |
70e7f9 |
break;
|
|
Mian Yousaf Kaukab |
70e7f9 |
- default:
|
|
Mian Yousaf Kaukab |
70e7f9 |
- /* Fallthrough */
|
|
Mian Yousaf Kaukab |
70e7f9 |
+ case ICACHE_POLICY_RESERVED:
|
|
Mian Yousaf Kaukab |
70e7f9 |
case ICACHE_POLICY_VIPT:
|
|
Mian Yousaf Kaukab |
70e7f9 |
/* Assume aliasing */
|
|
Mian Yousaf Kaukab |
70e7f9 |
set_bit(ICACHEF_ALIASING, &__icache_flags);
|
|
Mian Yousaf Kaukab |
70e7f9 |
+ break;
|
|
Mian Yousaf Kaukab |
70e7f9 |
}
|
|
Mian Yousaf Kaukab |
70e7f9 |
|
|
Mian Yousaf Kaukab |
70e7f9 |
pr_info("Detected %s I-cache on CPU%d\n", icache_policy_str[l1ip], cpu);
|