[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZC2PuiY5Xscz305H@sunil-laptop>
Date: Wed, 5 Apr 2023 20:41:54 +0530
From: Sunil V L <sunilvl@...tanamicro.com>
To: Conor Dooley <conor@...nel.org>
Cc: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org, linux-acpi@...r.kernel.org,
linux-crypto@...r.kernel.org, platform-driver-x86@...r.kernel.org,
llvm@...ts.linux.dev,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Tom Rix <trix@...hat.com>,
Conor Dooley <conor.dooley@...rochip.com>,
Weili Qian <qianweili@...wei.com>,
Herbert Xu <herbert@...dor.apana.org.au>,
Jonathan Corbet <corbet@....net>,
Marc Zyngier <maz@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Andrew Jones <ajones@...tanamicro.com>,
Albert Ou <aou@...s.berkeley.edu>,
Mark Gross <markgross@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Thomas Gleixner <tglx@...utronix.de>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Zhou Wang <wangzhou1@...ilicon.com>,
Palmer Dabbelt <palmer@...belt.com>,
Len Brown <lenb@...nel.org>,
Maximilian Luz <luzmaximilian@...il.com>,
"David S . Miller" <davem@...emloft.net>
Subject: Re: [PATCH V4 19/23] RISC-V: Add ACPI initialization in setup_arch()
On Tue, Apr 04, 2023 at 10:38:56PM +0100, Conor Dooley wrote:
> On Tue, Apr 04, 2023 at 11:50:33PM +0530, Sunil V L wrote:
> > Initialize the ACPI core for RISC-V during boot.
> >
> > ACPI tables and interpreter are initialized based on
> > the information passed from the firmware and the value of
> > the kernel parameter 'acpi'.
> >
> > With ACPI support added for RISC-V, the kernel parameter 'acpi'
> > is also supported on RISC-V. Hence, update the documentation.
> >
> > Signed-off-by: Sunil V L <sunilvl@...tanamicro.com>
> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> > Reviewed-by: Andrew Jones <ajones@...tanamicro.com>
> > Acked-by: Conor Dooley <conor.dooley@...rochip.com>
>
> > + /* Parse the ACPI tables for possible boot-time configuration */
> > + acpi_boot_table_init();
> > + if (acpi_disabled) {
> > + if (IS_ENABLED(CONFIG_BUILTIN_DTB)) {
> > + unflatten_and_copy_device_tree();
> > + } else {
> > + if (early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa))))
> > + unflatten_device_tree();
> > + else
> > + pr_err("No DTB found in kernel mappings\n");
> > + }
> > + } else {
> > + early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa)));
>
> I'm probably forgetting something, but this seems very non-obvious to
> me:
> Why are you running early_init_dt_verify() when ACPI is enabled?
> I think that one deserves a comment so that next time someone looks at
> this (that doesn't live in ACPI land) they've know exactly why this is
> like it is.
>
> Doubly so since this is likely to change with some of Alex's bits moving
> the dtb back into the fixmap.
>
Good question. The kernel creates a tiny DTB even when the FW didn't
pass the FDT (ACPI systems). Please see update_fdt(). So, parse_dtb()
would have set initial_boot_params to early VA and if we don't call
early_init_dt_verify() again with __va, it panics since
initial_boot_params can not be translated.
Thanks,
Sunil
Powered by blists - more mailing lists