> -----Original Message----- > From: Moore, Robert > Sent: Tuesday, June 18, 2019 1:25 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 > > If it is in fact the AcpiLoadTable interface that is incorrect, that of > course is different. I'll check that out next. > [Moore, Robert] Yes, this is the issue, not specifically the Load() operator, but the AcpiLoadTable interface only. > > > -----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