Change the return value of match_noXlvl() to return the SATP mode that
will be used, rather than the mode being disabled. This enables unified
logic for return value judgement with the function that obtains mmu-type
from the fdt, avoiding extra conversion. This only changes the naming,
with no functional impact.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
arch/riscv/kernel/pi/cmdline_early.c | 4 ++--
arch/riscv/mm/init.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/riscv/kernel/pi/cmdline_early.c b/arch/riscv/kernel/pi/cmdline_early.c
index fbcdc9e4e14322af0cedd31343aeb9403ba2dd14..389d086a071876dde2fd57ee6f6661e65c38b7c4 100644
--- a/arch/riscv/kernel/pi/cmdline_early.c
+++ b/arch/riscv/kernel/pi/cmdline_early.c
@@ -41,9 +41,9 @@ static char *get_early_cmdline(uintptr_t dtb_pa)
static u64 match_noXlvl(char *cmdline)
{
if (strstr(cmdline, "no4lvl"))
- return SATP_MODE_48;
+ return SATP_MODE_39;
else if (strstr(cmdline, "no5lvl"))
- return SATP_MODE_57;
+ return SATP_MODE_48;
return 0;
}
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 8d0374d7ce8ed72320f58e4cea212d0e2bce8fd4..d03e02a92379f2338a4f4df0ab797a7859b83dfc 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -864,9 +864,9 @@ static __init void set_satp_mode(uintptr_t dtb_pa)
kernel_map.page_offset = PAGE_OFFSET_L5;
- if (satp_mode_cmdline == SATP_MODE_57) {
+ if (satp_mode_cmdline == SATP_MODE_48) {
disable_pgtable_l5();
- } else if (satp_mode_cmdline == SATP_MODE_48) {
+ } else if (satp_mode_cmdline == SATP_MODE_39) {
disable_pgtable_l5();
disable_pgtable_l4();
return;
--
2.50.1
Hi Junhui, On 7/21/25 18:53, Junhui Liu wrote: > Change the return value of match_noXlvl() to return the SATP mode that > will be used, rather than the mode being disabled. This enables unified > logic for return value judgement with the function that obtains mmu-type > from the fdt, avoiding extra conversion. This only changes the naming, > with no functional impact. > > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/kernel/pi/cmdline_early.c | 4 ++-- > arch/riscv/mm/init.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/kernel/pi/cmdline_early.c b/arch/riscv/kernel/pi/cmdline_early.c > index fbcdc9e4e14322af0cedd31343aeb9403ba2dd14..389d086a071876dde2fd57ee6f6661e65c38b7c4 100644 > --- a/arch/riscv/kernel/pi/cmdline_early.c > +++ b/arch/riscv/kernel/pi/cmdline_early.c > @@ -41,9 +41,9 @@ static char *get_early_cmdline(uintptr_t dtb_pa) > static u64 match_noXlvl(char *cmdline) > { > if (strstr(cmdline, "no4lvl")) > - return SATP_MODE_48; > + return SATP_MODE_39; > else if (strstr(cmdline, "no5lvl")) > - return SATP_MODE_57; > + return SATP_MODE_48; > > return 0; > } > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 8d0374d7ce8ed72320f58e4cea212d0e2bce8fd4..d03e02a92379f2338a4f4df0ab797a7859b83dfc 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -864,9 +864,9 @@ static __init void set_satp_mode(uintptr_t dtb_pa) > > kernel_map.page_offset = PAGE_OFFSET_L5; > > - if (satp_mode_cmdline == SATP_MODE_57) { > + if (satp_mode_cmdline == SATP_MODE_48) { > disable_pgtable_l5(); > - } else if (satp_mode_cmdline == SATP_MODE_48) { > + } else if (satp_mode_cmdline == SATP_MODE_39) { > disable_pgtable_l5(); > disable_pgtable_l4(); > return; > Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Thanks, Alex
On 7/22/2025 12:53 AM, Junhui Liu wrote: > Change the return value of match_noXlvl() to return the SATP mode that > will be used, rather than the mode being disabled. This enables unified > logic for return value judgement with the function that obtains mmu-type > from the fdt, avoiding extra conversion. This only changes the naming, > with no functional impact. > > Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech> > --- > arch/riscv/kernel/pi/cmdline_early.c | 4 ++-- > arch/riscv/mm/init.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/kernel/pi/cmdline_early.c b/arch/riscv/kernel/pi/cmdline_early.c > index fbcdc9e4e14322af0cedd31343aeb9403ba2dd14..389d086a071876dde2fd57ee6f6661e65c38b7c4 100644 > --- a/arch/riscv/kernel/pi/cmdline_early.c > +++ b/arch/riscv/kernel/pi/cmdline_early.c > @@ -41,9 +41,9 @@ static char *get_early_cmdline(uintptr_t dtb_pa) > static u64 match_noXlvl(char *cmdline) > { > if (strstr(cmdline, "no4lvl")) > - return SATP_MODE_48; > + return SATP_MODE_39; > else if (strstr(cmdline, "no5lvl")) > - return SATP_MODE_57; > + return SATP_MODE_48; > > return 0; > } > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 8d0374d7ce8ed72320f58e4cea212d0e2bce8fd4..d03e02a92379f2338a4f4df0ab797a7859b83dfc 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -864,9 +864,9 @@ static __init void set_satp_mode(uintptr_t dtb_pa) > > kernel_map.page_offset = PAGE_OFFSET_L5; > > - if (satp_mode_cmdline == SATP_MODE_57) { > + if (satp_mode_cmdline == SATP_MODE_48) { > disable_pgtable_l5(); > - } else if (satp_mode_cmdline == SATP_MODE_48) { > + } else if (satp_mode_cmdline == SATP_MODE_39) { > disable_pgtable_l5(); > disable_pgtable_l4(); > return; Nice, this change is a good idea. It's more readable. Reviewed-by: Nutty Liu <liujingqi@lanxincomputing.com> Thanks, Nutty
© 2016 - 2025 Red Hat, Inc.