> -----Original Message-----
> From: Moore, Robert
> Sent: Tuesday, June 18, 2019 1:25 PM
> To: 'Nikolaus Voss' <n...@vosn.de>
> Cc: 'Rafael J. Wysocki' <raf...@kernel.org>; 'Rafael J. Wysocki'
> <r...@rjwysocki.net>; 'Len Brown' <l...@kernel.org>; Schmauss, Erik
> <erik.schma...@intel.com>; 'Jacek Anaszewski'
> <jacek.anaszew...@gmail.com>; 'Pavel Machek' <pa...@ucw.cz>; 'Dan
> Murphy' <dmur...@ti.com>; 'Thierry Reding' <thierry.red...@gmail.com>;
> 'ACPI Devel Maling List' <linux-a...@vger.kernel.org>; 'open list:ACPI
> COMPONENT ARCHITECTURE (ACPICA)' <de...@acpica.org>; 'linux-
> l...@vger.kernel.org' <linux-l...@vger.kernel.org>; 'Linux PWM List'
> <linux-...@vger.kernel.org>; 'Linux Kernel Mailing List' <linux-
> ker...@vger.kernel.org>
> 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' <n...@vosn.de>
> > Cc: 'Rafael J. Wysocki' <raf...@kernel.org>; 'Rafael J. Wysocki'
> > <r...@rjwysocki.net>; 'Len Brown' <l...@kernel.org>; Schmauss, Erik
> > <erik.schma...@intel.com>; 'Jacek Anaszewski'
> > <jacek.anaszew...@gmail.com>; 'Pavel Machek' <pa...@ucw.cz>; 'Dan
> > Murphy' <dmur...@ti.com>; 'Thierry Reding' <thierry.red...@gmail.com>;
> > 'ACPI Devel Maling List' <linux-a...@vger.kernel.org>; 'open list:ACPI
> > COMPONENT ARCHITECTURE (ACPICA)' <de...@acpica.org>; 'linux-
> > l...@vger.kernel.org' <linux-l...@vger.kernel.org>; 'Linux PWM List'
> > <linux-...@vger.kernel.org>; 'Linux Kernel Mailing List' <linux-
> > ker...@vger.kernel.org>
> > 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