Bob,
On Fri, 14 Jun 2019, Moore, Robert wrote:
-----Original Message-----
From: Nikolaus Voss [mailto:[email protected]]
Sent: Friday, June 14, 2019 2:26 AM
To: Rafael J. Wysocki <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>; Len Brown <[email protected]>; Moore, Robert <[email protected]>; Schmauss, Erik
<[email protected]>; Jacek Anaszewski <[email protected]>; Pavel Machek <[email protected]>; Dan Murphy
<[email protected]>; Thierry Reding <[email protected]>; ACPI Devel Maling List <[email protected]>; open list:ACPI
COMPONENT ARCHITECTURE (ACPICA) <[email protected]>; [email protected]; Linux PWM List <[email protected]>; Linux Kernel
Mailing List <[email protected]>
Subject: Re: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads
Hi Rafael,
On Fri, 14 Jun 2019, Rafael J. Wysocki wrote:
On Wed, Jun 12, 2019 at 10:36 AM Nikolaus Voss
<[email protected]> wrote:
If an ACPI SSDT overlay is loaded after built-in tables have been
loaded e.g. via configfs or efivar_ssdt_load() it is necessary to
rewalk the namespace to resolve references. Without this, relative
and absolute paths like ^PCI0.SBUS or \_SB.PCI0.SBUS are not resolved
correctly.
Make configfs load use the same method as efivar_ssdt_load().
Signed-off-by: Nikolaus Voss <[email protected]>
This is fine by me, so
Acked-by: Rafael J. Wysocki <[email protected]>
Or if you want me to take this patch (without the other two in the
series), please let me know.
thanks. I think it would be the best if you take up this patch as it is
an independent topic. In retrospect it wasn't a good idea to put it into
this series.
Kind regards,
Niko
I would have to ask, why is additional code needed for package
initialization/resolution? It already happens elsewhere in acpica. Bob
for built-in tables loaded via acpi_ex_load_table_op() everything is fine,
because after acpi_tb_load_table() acpi_ns_walk_namespace() is called to
resolve references.
My fix only affects tables loaded dynamically via either
acpi_configfs driver (for debugging purposes) or efivar_ssdt_load() (to
specify a table on the kernel's command line). They use acpi_load_table()
to load the table from a caller-owned buffer. To resolve the references,
it is again necessary to rewalk the namespace, which was simply missing in
acpi_load_table().
Niko