I'm looking at this. We've changed the initialization of objects in the namespace recently, so I'm checking this out. > -----Original Message----- > From: Nikolaus Voss [mailto:nv@xxxxxxx] > Sent: Tuesday, June 18, 2019 2:22 AM > To: Moore, Robert <robert.moore@xxxxxxxxx> > Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>; Rafael J. Wysocki > <rjw@xxxxxxxxxxxxx>; Len Brown <lenb@xxxxxxxxxx>; Schmauss, Erik > <erik.schmauss@xxxxxxxxx>; Jacek Anaszewski > <jacek.anaszewski@xxxxxxxxx>; Pavel Machek <pavel@xxxxxx>; Dan Murphy > <dmurphy@xxxxxx>; Thierry Reding <thierry.reding@xxxxxxxxx>; ACPI Devel > Maling List <linux-acpi@xxxxxxxxxxxxxxx>; open list:ACPI COMPONENT > ARCHITECTURE (ACPICA) <devel@xxxxxxxxxx>; linux-leds@xxxxxxxxxxxxxxx; > Linux PWM List <linux-pwm@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List > <linux-kernel@xxxxxxxxxxxxxxx> > Subject: RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table > loads > > On Mon, 17 Jun 2019, Moore, Robert wrote: > >> -----Original Message----- > >> From: Nikolaus Voss [mailto:nv@xxxxxxx] > >> Sent: Sunday, June 16, 2019 11:24 PM > >> To: Moore, Robert <robert.moore@xxxxxxxxx> > >> Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>; Rafael J. Wysocki > >> <rjw@xxxxxxxxxxxxx>; Len Brown <lenb@xxxxxxxxxx>; Schmauss, Erik > >> <erik.schmauss@xxxxxxxxx>; Jacek Anaszewski > >> <jacek.anaszewski@xxxxxxxxx>; Pavel Machek <pavel@xxxxxx>; Dan Murphy > >> <dmurphy@xxxxxx>; Thierry Reding <thierry.reding@xxxxxxxxx>; ACPI > >> Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>; open list:ACPI > >> COMPONENT ARCHITECTURE (ACPICA) <devel@xxxxxxxxxx>; > >> linux-leds@xxxxxxxxxxxxxxx; Linux PWM List > >> <linux-pwm@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List > >> <linux-kernel@xxxxxxxxxxxxxxx>; nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx > >> 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:nv@xxxxxxx] > >>> Sent: Friday, June 14, 2019 2:26 AM > >>> To: Rafael J. Wysocki <rafael@xxxxxxxxxx> > >>> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>; Len Brown > >>> <lenb@xxxxxxxxxx>; Moore, Robert <robert.moore@xxxxxxxxx>; Schmauss, > >>> Erik <erik.schmauss@xxxxxxxxx>; Jacek Anaszewski > >>> <jacek.anaszewski@xxxxxxxxx>; Pavel Machek <pavel@xxxxxx>; Dan > >>> Murphy <dmurphy@xxxxxx>; Thierry Reding <thierry.reding@xxxxxxxxx>; > >>> ACPI Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>; open list:ACPI > >>> COMPONENT ARCHITECTURE (ACPICA) <devel@xxxxxxxxxx>; > >>> linux-leds@xxxxxxxxxxxxxxx; Linux PWM List > >>> <linux-pwm@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List > >>> <linux-kernel@xxxxxxxxxxxxxxx> > >>> 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 > >>>> <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx> 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 <nikolaus.voss@xxxxxxxxxxxxxxxxxxxxx> > >>>> > >>>> This is fine by me, so > >>>> > >>>> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > >>>> > >>>> 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