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

From: Moore, Robert
Date: Tue Jun 18 2019 - 16:28:03 EST


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

Attachment: loadedtable.asl
Description: loadedtable.asl

Attachment: tableinit.asl
Description: tableinit.asl

Attachment: loadedtable.hex
Description: loadedtable.hex