RE: [PATCH v2 1/3] ACPI: Resolve objects on host-directed table loads
From: Moore, Robert
Date: Tue Jun 18 2019 - 16:29:46 EST
If it is in fact the AcpiLoadTable interface that is incorrect, that of course is different. I'll check that out next.
> -----Original Message-----
> From: Moore, Robert
> Sent: Tuesday, June 18, 2019 1:23 PM
> To: 'Nikolaus Voss' <nv@xxxxxxx>
> 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-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
>
> It looks to me that the package objects are being initialized properly
> already, unless I'm missing something. Please check the examples below
> and in the attached files.
>
> Attached is a small test case that dynamically loads an SSDT which
> contains a package object which in turn contains references to other
> objects.
>
>
> Main DSDT:
> Method (LD1)
> {
> Load (BUF1, HNDL) // SSDT is in BUF1
> Store (HNDL, Debug)
> Return
> }
>
> Loaded table:
> External (DEV1, DeviceObj)
> Name (PKG1, Package() {
> 1,2, DEV2, DEV1, 4})
> Device (DEV2) {}
>
>
> AcpiExec Output:
> - ev ld1
> Evaluating \LD1
> ACPI: Dynamic OEM Table Load:
> ACPI: SSDT 0x00000000006DEEB8 000051 (v02 Intel Load 00000001 INTL
> 20190509)
> ACPI Exec: Table Event INSTALL, [SSDT] 006DEEB8
> Table [SSDT: Load ] (id 06) - 5 Objects with 1 Devices, 0
> Regions, 1 Methods
> ACPI Exec: Table Event LOAD, [SSDT] 006DEEB8 ACPI Debug: Reference
> [DdbHandle] Table Index 0x3
> 0x7 Outstanding allocations after evaluation of \LD1 Evaluation of \LD1
> returned object 006D2FE8, external buffer length 18
> [Integer] = 0000000000000000
>
> - ev pkg1
> Evaluating \PKG1
> Evaluation of \PKG1 returned object 006D2FE8, external buffer length 90
> [Package] Contains 5 Elements:
> [Integer] = 0000000000000001
> [Integer] = 0000000000000002
> [Object Reference] = 006DDF88 <Node> Name DEV2 Device
> [Object Reference] = 006DD608 <Node> Name DEV1 Device
> [Integer] = 0000000000000004