dswload.c revision 186507a7cf6e4b4155e9ef89631777a96633ac0e
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows/******************************************************************************
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Module Name: dswload - Dispatcher namespace load callbacks
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * $Revision: 1.98 $
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows *****************************************************************************/
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows/******************************************************************************
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 1. Copyright Notice
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * All rights reserved.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 2. License
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 2.1. This is your license from Intel Corp. under its intellectual property
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * rights. You may have additional license terms from the party that provided
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * you this software, covering your right to use that party's intellectual
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * property rights.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
888e055994b8b0dc77b98c53dd97026237caec5dRobert Johnston * copy of the source code appearing in this file ("Covered Code") an
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * irrevocable, perpetual, worldwide license under Intel's copyrights in the
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * base code distributed originally by Intel ("Original Intel Code") to copy,
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * make derivatives, distribute, use and display any portion of the Covered
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Code in any form, with the right to sublicense such rights; and
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * license (with the right to sublicense), under only those claims of Intel
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * patents that are infringed by the Original Intel Code, to make, use, sell,
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * offer to sell, and import the Covered Code and derivative works thereof
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * solely to the minimum extent necessary to exercise the above copyright
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * license, and in no event shall the patent license extend to any additions
888e055994b8b0dc77b98c53dd97026237caec5dRobert Johnston * to or modifications of the Original Intel Code. No other license or right
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * is granted directly or by implication, estoppel or otherwise;
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * The above copyright and patent license is granted only if the following
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * conditions are met:
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 3. Conditions
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 3.1. Redistribution of Source with Rights to Further Distribute Source.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Redistribution of source code of any substantial portion of the Covered
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Code or modification with rights to further distribute source must include
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * the above Copyright Notice, the above License, this list of Conditions,
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * and the following Disclaimer and Export Compliance provision. In addition,
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Licensee must cause all Covered Code to which Licensee contributes to
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * contain a file documenting the changes Licensee made to create that Covered
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Code and the date of any change. Licensee must include in that file the
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * documentation of any changes made by any predecessor Licensee. Licensee
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * must include a prominent statement that the modification is derived,
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * directly or indirectly, from Original Intel Code.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Redistribution of source code of any substantial portion of the Covered
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * Code or modification without rights to further distribute source must
749f21d359d8fbd020c974a1a5227316221bfc9cwesolows * include the following Disclaimer and Export Compliance provision in the
#define __DSWLOAD_C__
#include "acpi.h"
#include "acparser.h"
#include "amlcode.h"
#include "acdispat.h"
#include "acinterp.h"
#include "acnamesp.h"
#include "acevents.h"
#ifdef ACPI_ASL_COMPILER
#include "acdisasm.h"
switch (PassNumber)
#ifndef ACPI_NO_METHOD_EXECUTION
return (AE_BAD_PARAMETER);
return (AE_OK);
char *Path;
if (Op)
return (AE_OK);
return (AE_OK);
case AML_SCOPE_OP:
#ifdef ACPI_ASL_COMPILER
return (Status);
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_POWER:
case ACPI_TYPE_PROCESSOR:
case ACPI_TYPE_THERMAL:
case ACPI_TYPE_INTEGER:
case ACPI_TYPE_STRING:
case ACPI_TYPE_BUFFER:
return (AE_AML_OPERAND_TYPE);
return (Status);
if (!Op)
if (!Op)
return (AE_NO_MEMORY);
return (Status);
return (AE_OK);
#ifndef ACPI_NO_METHOD_EXECUTION
return (Status);
return (Status);
return (Status);
return (Status);
char *BufferPtr;
if (Op)
if (!BufferPtr)
case AML_FIELD_OP:
case AML_BANK_FIELD_OP:
case AML_INDEX_FIELD_OP:
case AML_INT_NAMEPATH_OP:
case AML_SCOPE_OP:
#ifdef ACPI_ASL_COMPILER
case ACPI_TYPE_DEVICE:
case ACPI_TYPE_POWER:
case ACPI_TYPE_PROCESSOR:
case ACPI_TYPE_THERMAL:
case ACPI_TYPE_INTEGER:
case ACPI_TYPE_STRING:
case ACPI_TYPE_BUFFER:
return (AE_AML_OPERAND_TYPE);
if (!Op)
if (!Op)
if (Node)
#ifndef ACPI_NO_METHOD_EXECUTION
UINT32 i;
#ifndef ACPI_NO_METHOD_EXECUTION
goto Cleanup;
#ifndef ACPI_NO_METHOD_EXECUTION
case AML_TYPE_CREATE_FIELD:
case AML_TYPE_NAMED_FIELD:
case AML_INDEX_FIELD_OP:
case AML_BANK_FIELD_OP:
case AML_FIELD_OP:
case AML_TYPE_NAMED_SIMPLE:
goto Cleanup;
case AML_PROCESSOR_OP:
case AML_POWER_RES_OP:
case AML_MUTEX_OP:
case AML_EVENT_OP:
case AML_DATA_REGION_OP:
case AML_ALIAS_OP:
goto Cleanup;
case AML_TYPE_NAMED_COMPLEX:
#ifndef ACPI_NO_METHOD_EXECUTION
case AML_REGION_OP:
FALSE);
case AML_NAME_OP:
case AML_CLASS_INTERNAL:
case AML_CLASS_METHOD_CALL: