diff options
author | Robert Moore <Robert.Moore@intel.com> | 2011-10-12 13:52:21 -0700 |
---|---|---|
committer | Robert Moore <Robert.Moore@intel.com> | 2011-10-12 13:52:21 -0700 |
commit | f3863d6e5c8911a14c66a22dfe0501e3dc3fd7de (patch) | |
tree | db572314a83ec426e6e322750b7519a25862e074 /source/components | |
parent | ccdeddbaf0e4a8f66c8071448ca79a9da774e031 (diff) | |
download | acpica-f3863d6e5c8911a14c66a22dfe0501e3dc3fd7de.tar.gz |
Fix to allow region arguments to reference other scopes.
Allow referenced objects to be in a different scope.
Lin Ming.
Diffstat (limited to 'source/components')
-rw-r--r-- | source/components/dispatcher/dsargs.c | 2 | ||||
-rw-r--r-- | source/components/executer/excreate.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/source/components/dispatcher/dsargs.c b/source/components/dispatcher/dsargs.c index 44cc41b33..878eb7473 100644 --- a/source/components/dispatcher/dsargs.c +++ b/source/components/dispatcher/dsargs.c @@ -496,7 +496,7 @@ AcpiDsGetRegionArguments ( /* Execute the argument AML */ - Status = AcpiDsExecuteArguments (Node, Node->Parent, + Status = AcpiDsExecuteArguments (Node, ExtraDesc->Extra.ScopeNode, ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart); return_ACPI_STATUS (Status); } diff --git a/source/components/executer/excreate.c b/source/components/executer/excreate.c index a9b92c16f..f4b251481 100644 --- a/source/components/executer/excreate.c +++ b/source/components/executer/excreate.c @@ -426,6 +426,14 @@ AcpiExCreateRegion ( RegionObj2 = ObjDesc->Common.NextObject; RegionObj2->Extra.AmlStart = AmlStart; RegionObj2->Extra.AmlLength = AmlLength; + if (WalkState->ScopeInfo) + { + RegionObj2->Extra.ScopeNode = WalkState->ScopeInfo->Scope.Node; + } + else + { + RegionObj2->Extra.ScopeNode = Node; + } /* Init the region from the operands */ |