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? Cheers, Conor.
Attachment:
signature.asc
Description: PGP signature