Commit 8810d7fe authored by Niklas Cassel's avatar Niklas Cassel Committed by Palmer Dabbelt

riscv: Don't output a bogus mmu-type on a no MMU kernel

Currently on a 64-bit kernel built without CONFIG_MMU, /proc/cpuinfo will
show the current MMU mode as sv57.

While the device tree property "mmu-type" does have a value "riscv,none" to
describe a CPU without a MMU, since commit 73c7c8f6 ("riscv: Use
pgtable_l4_enabled to output mmu_type in cpuinfo"), we no longer rely on
device tree to output the MMU mode. (Not even for CONFIG_32BIT.)

Therefore, instead of readding code to look at the "mmu-type" device tree
property, let's continue with the existing convention to use fixed values
for configurations where we don't determine the MMU mode at runtime.

Add a new fixed value for !CONFIG_MMU in order to output the correct
MMU mode in cpuinfo.
Signed-off-by: default avatarNiklas Cassel <niklas.cassel@wdc.com>
Link: https://lore.kernel.org/r/20220414173037.1381927-1-niklas.cassel@wdc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent 4420658a
...@@ -139,6 +139,7 @@ static void print_mmu(struct seq_file *f) ...@@ -139,6 +139,7 @@ static void print_mmu(struct seq_file *f)
{ {
char sv_type[16]; char sv_type[16];
#ifdef CONFIG_MMU
#if defined(CONFIG_32BIT) #if defined(CONFIG_32BIT)
strncpy(sv_type, "sv32", 5); strncpy(sv_type, "sv32", 5);
#elif defined(CONFIG_64BIT) #elif defined(CONFIG_64BIT)
...@@ -149,6 +150,9 @@ static void print_mmu(struct seq_file *f) ...@@ -149,6 +150,9 @@ static void print_mmu(struct seq_file *f)
else else
strncpy(sv_type, "sv39", 5); strncpy(sv_type, "sv39", 5);
#endif #endif
#else
strncpy(sv_type, "none", 5);
#endif /* CONFIG_MMU */
seq_printf(f, "mmu\t\t: %s\n", sv_type); seq_printf(f, "mmu\t\t: %s\n", sv_type);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment