RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads

From: Moore, Robert
Date: Mon Jun 17 2019 - 17:23:58 EST




> -----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.

> Niko