Re: [PATCH v2 10/10] RISC-V: provide a Kconfig option to disable parsing "riscv,isa"

From: Andrew Jones
Date: Sat Jul 01 2023 - 06:50:02 EST


On Fri, Jun 30, 2023 at 02:19:46PM +0100, Conor Dooley wrote:
> On Fri, Jun 30, 2023 at 09:46:48AM +0200, Andrew Jones wrote:
> > On Thu, Jun 29, 2023 at 10:44:18PM +0100, Conor Dooley wrote:
> > > On Thu, Jun 29, 2023 at 02:16:49PM -0700, Palmer Dabbelt wrote:
> > > > On Thu, 29 Jun 2023 13:20:55 PDT (-0700), Conor Dooley wrote:
> > ...
> > > > > +bool __initdata riscv_isa_fallback_cmdline = false;
> > > > > +static int __init riscv_isa_fallback_setup(char *__unused)
> > > >
> > > > Maybe it's better to support =true and =false here? Not sure it matters,
> > > > we're already down a rabbit hole ;)
> > >
> > > Dunno, not implemented a cmdline param before. Seemed "cleaner" to check
> > > for presence, don't really care so I'll adapt to w/e.
> > >
> >
> > I don't have a strong preference here, but to throw in more food for
> > thought, I see this DT-v1 vs. DT-v2 choice to be a bit analogous to the
> > DT vs. ACPI choice. The 'acpi' command line parameter, for RISC-V, can
> > be 'off', 'on', and 'force', where
> >
> > off -- disable ACPI if default was on
> > on -- enable ACPI but allow fallback to DT
> > force -- enable ACPI if default was off
> >
> > So, if the default of the isa fallback command line option will depend on
> > Kconfig, then we may also want a 'force'.
>
> I'm not sure that I understand what "force" would give us.
> There's 4 cases:
> - CONFIG_RISCV_ISA_FALLBACK is enabled, cmdline option is present:
> cmdline option is ignored, fallback is taken if needed.
> crash if neither are present.
>
> - CONFIG_RISCV_ISA_FALLBACK is enabled, cmdline option is not present:
> cmdline option is ignored, fallback is taken if needed.
> crash if neither are present.
>
> - CONFIG_RISCV_ISA_FALLBACK is disabled, cmdline option is present:
> cmdline option takes priority, fallback is taken if needed.
> crash if neither are present.
>
> - CONFIG_RISCV_ISA_FALLBACK is disabled, cmdline option is not present:
> fallback is never taken
> crash if new properties aren't present.
>
> I don't really see the value in having an equivalent to acpi=off,
> because the order of precedence is, to use your naming, "DT-v2" falling
> back to "DT-v1" & the default value concerns the use of the fallback.
> For ACPI, it is the other way around & the option controls the use of
> "DT-v2"'s analogue. Trying to slot in that logic:
>
> - CONFIG_RISCV_ISA_FALLBACK is enabled, cmdline option "=on":
> cmdline option is ignored, fallback is taken if needed.
> crash if neither are present.
>
> - CONFIG_RISCV_ISA_FALLBACK is enabled, cmdline option "=off":
> cmdline option is prioritised, fallback is taken if needed.
> crash if new properties aren't present.
>
> - CONFIG_RISCV_ISA_FALLBACK is disabled, cmdline option "=on":
> cmdline option is prioritised, fallback is taken if needed.
> crash if neither are present.
>
> - CONFIG_RISCV_ISA_FALLBACK is disabled, cmdline option "=off":
> fallback is never taken
> crash if new properties aren't present.
>
> I think I prefer the behaviour of what I currently have & I don't really
> get where the "force" option is supposed to fit in either?
>

WFM

Thanks,
drew