On Mon, 17 Jun 2019, Moore, Robert wrote:
-----Original Message-----
From: Nikolaus Voss [mailto:[email protected]]
Sent: Sunday, June 16, 2019 11:24 PM
To: Moore, Robert <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>; Rafael J. Wysocki
<[email protected]>; Len Brown <[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]>; [email protected]
Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table
loads
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().
[Moore, Robert]
Perhaps you should call AcpiInitializeObjects after the call to
AcpiLoadTable, but I will check.
My usage of acpi_load_table() is to load a SSDT which is the intended use
of this method according to its description. And my expectation is that
the package objects of the loaded table are initialized when this function
successfully returns so it aligns with the behavior of
acpi_ex_load_table_op() for built-in SSDTs. Otherwise there would be no
point in having this function at all, because
acpi_tb_install_and_load_table() could be called directly without any
difference.
Niko