Vendor import of the Intel ACPI CA 20020815 drop.

This commit is contained in:
iwasaki 2002-08-29 01:51:24 +00:00
parent 3f86517f16
commit 1824f19201
90 changed files with 3886 additions and 1053 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,181 @@
/******************************************************************************
*
* Module Name: acapps - common include for ACPI applications/tools
*
*****************************************************************************/
/******************************************************************************
*
* 1. Copyright Notice
*
* Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp.
* All rights reserved.
*
* 2. License
*
* 2.1. This is your license from Intel Corp. under its intellectual property
* rights. You may have additional license terms from the party that provided
* you this software, covering your right to use that party's intellectual
* property rights.
*
* 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
* copy of the source code appearing in this file ("Covered Code") an
* irrevocable, perpetual, worldwide license under Intel's copyrights in the
* base code distributed originally by Intel ("Original Intel Code") to copy,
* make derivatives, distribute, use and display any portion of the Covered
* Code in any form, with the right to sublicense such rights; and
*
* 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
* license (with the right to sublicense), under only those claims of Intel
* patents that are infringed by the Original Intel Code, to make, use, sell,
* offer to sell, and import the Covered Code and derivative works thereof
* solely to the minimum extent necessary to exercise the above copyright
* license, and in no event shall the patent license extend to any additions
* to or modifications of the Original Intel Code. No other license or right
* is granted directly or by implication, estoppel or otherwise;
*
* The above copyright and patent license is granted only if the following
* conditions are met:
*
* 3. Conditions
*
* 3.1. Redistribution of Source with Rights to Further Distribute Source.
* Redistribution of source code of any substantial portion of the Covered
* Code or modification with rights to further distribute source must include
* the above Copyright Notice, the above License, this list of Conditions,
* and the following Disclaimer and Export Compliance provision. In addition,
* Licensee must cause all Covered Code to which Licensee contributes to
* contain a file documenting the changes Licensee made to create that Covered
* Code and the date of any change. Licensee must include in that file the
* documentation of any changes made by any predecessor Licensee. Licensee
* must include a prominent statement that the modification is derived,
* directly or indirectly, from Original Intel Code.
*
* 3.2. Redistribution of Source with no Rights to Further Distribute Source.
* Redistribution of source code of any substantial portion of the Covered
* Code or modification without rights to further distribute source must
* include the following Disclaimer and Export Compliance provision in the
* documentation and/or other materials provided with distribution. In
* addition, Licensee may not authorize further sublicense of source of any
* portion of the Covered Code, and must include terms to the effect that the
* license from Licensee to its licensee is limited to the intellectual
* property embodied in the software Licensee provides to its licensee, and
* not to intellectual property embodied in modifications its licensee may
* make.
*
* 3.3. Redistribution of Executable. Redistribution in executable form of any
* substantial portion of the Covered Code or modification must reproduce the
* above Copyright Notice, and the following Disclaimer and Export Compliance
* provision in the documentation and/or other materials provided with the
* distribution.
*
* 3.4. Intel retains all right, title, and interest in and to the Original
* Intel Code.
*
* 3.5. Neither the name Intel nor any other trademark owned or controlled by
* Intel shall be used in advertising or otherwise to promote the sale, use or
* other dealings in products derived from or relating to the Covered Code
* without prior written authorization from Intel.
*
* 4. Disclaimer and Export Compliance
*
* 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
* HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
* IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
* INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
* UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
* IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
* OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
* COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
* SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
* CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
* HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
* SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
* LIMITED REMEDY.
*
* 4.3. Licensee shall not export, either directly or indirectly, any of this
* software or system incorporating such software without first obtaining any
* required license or other approval from the U. S. Department of Commerce or
* any other agency or department of the United States Government. In the
* event Licensee exports any such software from the United States or
* re-exports any such software from a foreign destination, Licensee shall
* ensure that the distribution and export/re-export of the software is in
* compliance with all laws, regulations, orders, or other restrictions of the
* U.S. Export Administration Regulations. Licensee agrees that neither it nor
* any of its subsidiaries will export/re-export any technical data, process,
* software, or service, directly or indirectly, to any country for which the
* United States government or any agency thereof requires an export license,
* other governmental approval, or letter of assurance, without first obtaining
* such license, approval or letter.
*
*****************************************************************************/
#ifndef _ACAPPS
#define _ACAPPS
#ifdef _MSC_VER /* disable some level-4 warnings */
#pragma warning(disable:4100) /* warning C4100: unreferenced formal parameter */
#endif
extern UINT8 *DsdtPtr;
extern UINT32 AcpiDsdtLength;
extern UINT8 *AmlStart;
extern UINT32 AmlLength;
extern int AcpiGbl_Optind;
extern NATIVE_CHAR *AcpiGbl_Optarg;
int
AcpiGetopt(
int argc,
char **argv,
char *opts);
ACPI_STATUS
AdInitialize (
void);
char *
FlGenerateFilename (
char *InputFilename,
char *Suffix);
ACPI_STATUS
AdAmlDisassemble (
BOOLEAN OutToFile,
char *Filename,
char **OutFilename);
void
AdPrintStatistics (void);
ACPI_STATUS
AdFindDsdt(
UINT8 **DsdtPtr,
UINT32 *DsdtLength);
void
AdDumpTables (void);
ACPI_STATUS
AdGetTables (
char *Filename);
ACPI_STATUS
AdParseTables (void);
ACPI_STATUS
AdDisplayTables (
char *Filename);
ACPI_STATUS
AdDisplayStatistics (void);
#endif /* _ACAPPS */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acconfig.h - Global configuration constants
* $Revision: 107 $
* $Revision: 109 $
*
*****************************************************************************/
@ -125,7 +125,7 @@
*****************************************************************************/
/*
* ACPI_DEBUG - This switch enables all the debug facilities of the
* ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the
* ACPI subsystem. This includes the DEBUG_PRINT output
* statements. When disabled, all DEBUG_PRINT
* statements are compiled out.
@ -145,7 +145,7 @@
/* Version string */
#define ACPI_CA_VERSION 0x20020725
#define ACPI_CA_VERSION 0x20020815
/* Version of ACPI supported */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acdisasm.h - AML disassembler
* $Revision: 2 $
* $Revision: 3 $
*
*****************************************************************************/
@ -161,7 +161,6 @@ ACPI_STATUS (*ASL_WALK_CALLBACK) (
void *Context);
/*
* dmwalk
*/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acefi.h - OS specific defines, etc.
* $Revision: 10 $
* $Revision: 12 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acenv.h - Generation environment specific items
* $Revision: 99 $
* $Revision: 101 $
*
*****************************************************************************/
@ -124,7 +124,7 @@
#ifdef _ACPI_DUMP_APP
#ifndef MSDOS
#define ACPI_DEBUG
#define ACPI_DEBUG_OUTPUT
#endif
#define ACPI_APPLICATION
#define ACPI_DISASSEMBLER
@ -135,15 +135,15 @@
#ifdef _ACPI_EXEC_APP
#undef DEBUGGER_THREADING
#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED
#define ACPI_DEBUG
#define ACPI_DEBUG_OUTPUT
#define ACPI_APPLICATION
#define ENABLE_DEBUGGER
#define ACPI_DEBUGGER
#define ACPI_DISASSEMBLER
#define ACPI_USE_SYSTEM_CLIBRARY
#endif
#ifdef _ACPI_ASL_COMPILER
#define ACPI_DEBUG
#define ACPI_DEBUG_OUTPUT
#define ACPI_APPLICATION
#define ACPI_DISASSEMBLER
#define ACPI_CONSTANT_EVAL_ONLY
@ -240,7 +240,7 @@
* 1) This is the debug version
* 2) This is NOT a 16-bit version of the code (not enough real-mode memory)
*/
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
#if ACPI_MACHINE_WIDTH != 16
#define ACPI_DBG_TRACK_ALLOCATIONS
#endif

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acfreebsd.h - OS specific defines, etc.
* $Revision: 9 $
* $Revision: 10 $
*
*****************************************************************************/
@ -139,16 +139,16 @@
#define __cli() disable_intr()
#define __sti() enable_intr()
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
#ifdef DEBUGGER_THREADING
#undef DEBUGGER_THREADING
#endif /* DEBUGGER_THREADING */
#define DEBUGGER_THREADING 0 /* integrated with DDB */
#include "opt_ddb.h"
#ifdef DDB
#define ENABLE_DEBUGGER
#define ACPI_DEBUGGER
#endif /* DDB */
#endif /* ACPI_DEBUG */
#endif /* ACPI_DEBUG_OUTPUT */
#else /* _KERNEL */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acglobal.h - Declarations for global variables
* $Revision: 128 $
* $Revision: 130 $
*
*****************************************************************************/
@ -243,8 +243,12 @@ extern const NATIVE_CHAR *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_
****************************************************************************/
#define NUM_NS_TYPES INTERNAL_TYPE_INVALID+1
#define NUM_PREDEFINED_NAMES 9
#if defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
#define NUM_PREDEFINED_NAMES 10
#else
#define NUM_PREDEFINED_NAMES 9
#endif
ACPI_EXTERN ACPI_NAMESPACE_NODE AcpiGbl_RootNodeStruct;
ACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_RootNode;
@ -252,7 +256,7 @@ ACPI_EXTERN ACPI_NAMESPACE_NODE *AcpiGbl_RootNode;
extern const UINT8 AcpiGbl_NsProperties[NUM_NS_TYPES];
extern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES];
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
ACPI_EXTERN UINT32 AcpiGbl_CurrentNodeCount;
ACPI_EXTERN UINT32 AcpiGbl_CurrentNodeSize;
ACPI_EXTERN UINT32 AcpiGbl_MaxConcurrentNodeCount;
@ -336,7 +340,7 @@ ACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_verbose;
#endif
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
extern BOOLEAN AcpiGbl_MethodExecuting;
extern BOOLEAN AcpiGbl_DbTerminateThreads;
@ -378,7 +382,7 @@ ACPI_EXTERN UINT32 AcpiGbl_SizeOfMethodTrees;
ACPI_EXTERN UINT32 AcpiGbl_SizeOfNodeEntries;
ACPI_EXTERN UINT32 AcpiGbl_SizeOfAcpiObjects;
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */
#endif /* __ACGLOBAL_H__ */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: aclocal.h - Internal data types used across the ACPI subsystem
* $Revision: 173 $
* $Revision: 175 $
*
*****************************************************************************/
@ -129,7 +129,6 @@ typedef UINT32 ACPI_MUTEX_HANDLE;
#define AML_NUM_OPCODES 0x7E
/*****************************************************************************
*
* Mutex typedefs and structs
@ -165,7 +164,7 @@ typedef UINT32 ACPI_MUTEX_HANDLE;
#define NUM_MTX MAX_MTX+1
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
#ifdef DEFINE_ACPI_GLOBALS
/* Names for the mutexes used in the subsystem */
@ -659,7 +658,7 @@ ACPI_STATUS (*ACPI_EXECUTE_OP) (
*/
typedef struct acpi_opcode_info
{
#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG)
#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG_OUTPUT)
NATIVE_CHAR *Name; /* Opcode name (disassembler/debug only) */
#endif
UINT32 ParseArgs; /* Grammar/Parse time arguments */
@ -778,7 +777,6 @@ typedef union acpi_parse_obj
} ACPI_PARSE_OBJECT;
/*
* Parse state - one state per parser invocation and each control
* method.

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acmacros.h - C macros for the entire subsystem.
* $Revision: 126 $
* $Revision: 128 $
*
*****************************************************************************/
@ -378,7 +378,7 @@
/*
* Macros for the master AML opcode table
*/
#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUG)
#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUG_OUTPUT)
#define ACPI_OP(Name,PArgs,IArgs,ObjType,Class,Type,Flags) {Name,PArgs,IArgs,Flags,ObjType,Class,Type}
#else
#define ACPI_OP(Name,PArgs,IArgs,ObjType,Class,Type,Flags) {PArgs,IArgs,Flags,ObjType,Class,Type}
@ -444,11 +444,11 @@
/*
* Error reporting. These versions add callers module and line#. Since
* _THIS_MODULE gets compiled out when ACPI_DEBUG isn't defined, only
* _THIS_MODULE gets compiled out when ACPI_DEBUG_OUTPUT isn't defined, only
* use it in debug mode.
*/
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
#define ACPI_REPORT_INFO(fp) {AcpiUtReportInfo(_THIS_MODULE,__LINE__,_COMPONENT); \
AcpiOsPrintf ACPI_PARAM_LIST(fp);}
@ -481,7 +481,7 @@
* Debug macros that are conditionally compiled
*/
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
#define ACPI_MODULE_NAME(name) static char *_THIS_MODULE = name;
@ -616,9 +616,9 @@
/*
* Some code only gets executed when the debugger is built in.
* Note that this is entirely independent of whether the
* DEBUG_PRINT stuff (set by ACPI_DEBUG) is on, or not.
* DEBUG_PRINT stuff (set by ACPI_DEBUG_OUTPUT) is on, or not.
*/
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define ACPI_DEBUGGER_EXEC(a) a
#else
#define ACPI_DEBUGGER_EXEC(a)
@ -627,7 +627,7 @@
/*
* For 16-bit code, we want to shrink some things even though
* we are using ACPI_DEBUG to get the debug output
* we are using ACPI_DEBUG_OUTPUT to get the debug output
*/
#if ACPI_MACHINE_WIDTH == 16
#undef ACPI_DEBUG_ONLY_MEMBERS
@ -636,7 +636,7 @@
#endif
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
/*
* 1) Set name to blanks
* 2) Copy the object name

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only)
* $Revision: 112 $
* $Revision: 113 $
*
*****************************************************************************/
@ -190,7 +190,6 @@
union acpi_operand_obj *AddrHandler; /* Handler for Address space */
/******************************************************************************
*
* Basic data types
@ -247,7 +246,6 @@ typedef struct AcpiObjectPackage
} ACPI_OBJECT_PACKAGE;
/******************************************************************************
*
* Complex data types
@ -311,7 +309,6 @@ typedef struct AcpiObjectRegion
} ACPI_OBJECT_REGION;
/******************************************************************************
*
* Objects that can be notified. All share a common NotifyInfo area.
@ -366,7 +363,6 @@ typedef struct AcpiObjectThermalZone
} ACPI_OBJECT_THERMAL_ZONE;
/******************************************************************************
*
* Fields. All share a common header/info field.
@ -430,7 +426,6 @@ typedef struct AcpiObjectBufferField
} ACPI_OBJECT_BUFFER_FIELD;
/******************************************************************************
*
* Objects for handlers
@ -470,7 +465,6 @@ typedef struct AcpiObjectAddrHandler
} ACPI_OBJECT_ADDR_HANDLER;
/******************************************************************************
*
* Special internal objects
@ -537,7 +531,6 @@ typedef struct AcpiObjectCacheList
} ACPI_OBJECT_CACHE_LIST;
/******************************************************************************
*
* ACPI_OPERAND_OBJECT Descriptor - a giant union of all of the above
@ -581,9 +574,6 @@ typedef union acpi_operand_obj
} ACPI_OPERAND_OBJECT;
/******************************************************************************
*
* ACPI_DESCRIPTOR - objects that share a common descriptor identifier
@ -610,7 +600,6 @@ typedef union acpi_operand_obj
#define ACPI_DESC_TYPE_NAMED 0xAA
typedef union acpi_desc
{
UINT8 DescriptorId; /* To differentiate various internal objs */\

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acoutput.h -- debug output
* $Revision: 87 $
* $Revision: 90 $
*
*****************************************************************************/
@ -134,18 +134,20 @@
#define ACPI_DISPATCHER 0x00000040
#define ACPI_EXECUTER 0x00000080
#define ACPI_RESOURCES 0x00000100
#define ACPI_DEBUGGER 0x00000200
#define ACPI_CA_DEBUGGER 0x00000200
#define ACPI_OS_SERVICES 0x00000400
#define ACPI_ALL_COMPONENTS 0x00000FFF
#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
#define ACPI_CA_DISASSEMBLER 0x00000800
/* Component IDs for ACPI tools and utilities */
#define ACPI_COMPILER 0x00001000
#define ACPI_TOOLS 0x00002000
#define ACPI_ALL_COMPONENTS 0x00003FFF
#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
/* Component IDs reserved for ACPI drivers */
#define ACPI_ALL_DRIVERS 0xFFFF0000
@ -185,7 +187,8 @@
#define ACPI_LV_ALLOCATIONS 0x00100000
#define ACPI_LV_FUNCTIONS 0x00200000
#define ACPI_LV_VERBOSITY2 0x00300000 | ACPI_LV_VERBOSITY1
#define ACPI_LV_OPTIMIZATIONS 0x00400000
#define ACPI_LV_VERBOSITY2 0x00700000 | ACPI_LV_VERBOSITY1
#define ACPI_LV_ALL ACPI_LV_VERBOSITY2
/* Trace verbosity level 3 [Threading, I/O, and Interrupts] */
@ -235,6 +238,7 @@
#define ACPI_DB_BFIELD ACPI_DEBUG_LEVEL (ACPI_LV_BFIELD)
#define ACPI_DB_TABLES ACPI_DEBUG_LEVEL (ACPI_LV_TABLES)
#define ACPI_DB_FUNCTIONS ACPI_DEBUG_LEVEL (ACPI_LV_FUNCTIONS)
#define ACPI_DB_OPTIMIZATIONS ACPI_DEBUG_LEVEL (ACPI_LV_OPTIMIZATIONS)
#define ACPI_DB_VALUES ACPI_DEBUG_LEVEL (ACPI_LV_VALUES)
#define ACPI_DB_OBJECTS ACPI_DEBUG_LEVEL (ACPI_LV_OBJECTS)
#define ACPI_DB_ALLOCATIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALLOCATIONS)
@ -249,7 +253,6 @@
#define ACPI_DB_ALL ACPI_DEBUG_LEVEL (ACPI_LV_ALL)
/* Defaults for DebugLevel, debug and normal */
#define DEBUG_DEFAULT (ACPI_LV_OK | ACPI_LV_WARN | ACPI_LV_ERROR | ACPI_LV_DEBUG_OBJECT)

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: acparser.h - AML Parser subcomponent prototypes and defines
* $Revision: 60 $
* $Revision: 61 $
*
*****************************************************************************/
@ -177,7 +177,7 @@ AcpiPsGetNextSimpleArg (
UINT32 ArgType,
ACPI_PARSE_OBJECT *Arg);
void
ACPI_STATUS
AcpiPsGetNextNamepath (
ACPI_PARSE_STATE *ParserState,
ACPI_PARSE_OBJECT *Arg,
@ -188,11 +188,12 @@ ACPI_PARSE_OBJECT *
AcpiPsGetNextField (
ACPI_PARSE_STATE *ParserState);
ACPI_PARSE_OBJECT *
ACPI_STATUS
AcpiPsGetNextArg (
ACPI_PARSE_STATE *ParserState,
UINT32 ArgType,
UINT32 *ArgCount);
UINT32 *ArgCount,
ACPI_PARSE_OBJECT **ReturnArg);
/* psfind */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acresrc.h - Resource Manager function prototypes
* $Revision: 33 $
* $Revision: 34 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
* $Revision: 142 $
* $Revision: 143 $
*
*****************************************************************************/
@ -185,7 +185,7 @@ AcpiUtValidateFadt (
* UtGlobal - Global data structures and procedures
*/
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
NATIVE_CHAR *
AcpiUtGetMutexName (
@ -777,7 +777,7 @@ void
AcpiUtSetIntegerWidth (
UINT8 Revision);
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
void
AcpiUtDisplayInitPathname (
ACPI_HANDLE ObjHandle,

View File

@ -3,7 +3,7 @@
* Name: amlcode.h - Definitions for AML, as included in "definition blocks"
* Declarations and definitions contained herein are derived
* directly from the ACPI specification.
* $Revision: 69 $
* $Revision: 70 $
*
*****************************************************************************/
@ -565,5 +565,4 @@ typedef enum
#define METHOD_FLAGS_SYNCH_LEVEL 0xF0
#endif /* __AMLCODE_H__ */

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: amlresrc.h - AML resource descriptors
* $Revision: 20 $
* $Revision: 22 $
*
*****************************************************************************/
@ -419,172 +419,5 @@ typedef union asl_resource_desc
} ASL_RESOURCE_DESC;
#define NEXT_RESOURCE_DESC(a,b) (ASL_RESOURCE_DESC *) (((char *) (a)) + sizeof(b))
#define DEFAULT_RESOURCE_DESC_SIZE (sizeof (ASL_RESOURCE_DESC) + sizeof (ASL_END_TAG_DESC))
/*
* Resource utilities
*/
ASL_RESOURCE_NODE *
RsAllocateResourceNode (
UINT32 Size);
void
RsCreateBitField (
ACPI_PARSE_OBJECT *Op,
char *Name,
UINT32 ByteOffset,
UINT32 BitOffset);
void
RsCreateByteField (
ACPI_PARSE_OBJECT *Op,
char *Name,
UINT32 ByteOffset);
void
RsSetFlagBits (
UINT8 *Flags,
ACPI_PARSE_OBJECT *Op,
UINT8 Position,
UINT8 Default);
ACPI_PARSE_OBJECT *
RsCompleteNodeAndGetNext (
ACPI_PARSE_OBJECT *Op);
ASL_RESOURCE_NODE *
RsDoOneResourceDescriptor (
ACPI_PARSE_OBJECT *DescriptorTypeOp,
UINT32 CurrentByteOffset);
UINT32
RsLinkDescriptorChain (
ASL_RESOURCE_NODE **PreviousRnode,
ASL_RESOURCE_NODE *Rnode);
/*
* Small descriptors
*/
ASL_RESOURCE_NODE *
RsDoDmaDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoEndDependentDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoFixedIoDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoInterruptDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoIoDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoIrqDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoIrqNoFlagsDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoMemory24Descriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoMemory32Descriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoMemory32FixedDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoStartDependentDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoStartDependentNoPriDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoVendorSmallDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
/*
* Large descriptors
*/
UINT32
RsGetStringDataLength (
ACPI_PARSE_OBJECT *InitializerOp);
ASL_RESOURCE_NODE *
RsDoDwordIoDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoDwordMemoryDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoQwordIoDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoQwordMemoryDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoWordIoDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoWordBusNumberDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoVendorLargeDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
ASL_RESOURCE_NODE *
RsDoGeneralRegisterDescriptor (
ACPI_PARSE_OBJECT *Op,
UINT32 CurrentByteOffset);
#endif

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbcmds - debug commands and output routines
* $Revision: 85 $
* $Revision: 87 $
*
******************************************************************************/
@ -124,9 +124,9 @@
#include "acresrc.h"
#include "acdisasm.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbcmds")
@ -1175,8 +1175,6 @@ AcpiDbDisplayResources (
}
typedef struct
{
UINT32 Nodes;
@ -1267,4 +1265,4 @@ AcpiDbCheckIntegrity (void)
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbdisply - debug display commands
* $Revision: 76 $
* $Revision: 78 $
*
******************************************************************************/
@ -124,10 +124,10 @@
#include "acdebug.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbdisply")
@ -998,5 +998,5 @@ AcpiDbDisplayArgumentObject (
AcpiDbDisplayInternalObject (ObjDesc, WalkState);
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbexec - debugger control method execution
* $Revision: 42 $
* $Revision: 44 $
*
******************************************************************************/
@ -118,9 +118,9 @@
#include "acpi.h"
#include "acdebug.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbexec")
@ -308,7 +308,7 @@ AcpiDbExecute (
ACPI_BUFFER ReturnObj;
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
UINT32 PreviousAllocations;
UINT32 Allocations;
@ -335,7 +335,7 @@ AcpiDbExecute (
AcpiOsSleep (0, 10);
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
/* Memory allocation tracking */
@ -513,6 +513,6 @@ AcpiDbCreateExecutionThreads (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -2,7 +2,7 @@
*
* Module Name: dbfileio - Debugger file I/O commands. These can't usually
* be used when running the debugger in Ring 0 (Kernel mode)
* $Revision: 67 $
* $Revision: 68 $
*
******************************************************************************/
@ -121,9 +121,9 @@
#include "acnamesp.h"
#include "actables.h"
#if (defined ENABLE_DEBUGGER || defined ACPI_DISASSEMBLER)
#if (defined ACPI_DEBUGGER || defined ACPI_DISASSEMBLER)
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbfileio")
@ -180,7 +180,7 @@ AcpiDbMatchArgument (
}
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
/*******************************************************************************
*
* FUNCTION: AcpiDbCloseDebugFile
@ -509,5 +509,5 @@ AcpiDbLoadAcpiTable (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dbhistry - debugger HISTORY command
* $Revision: 24 $
* $Revision: 25 $
*
*****************************************************************************/
@ -118,9 +118,9 @@
#include "acpi.h"
#include "acdebug.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbhistry")
@ -287,5 +287,5 @@ AcpiDbGetFromHistory (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbinput - user front-end to the AML debugger
* $Revision: 86 $
* $Revision: 87 $
*
******************************************************************************/
@ -119,9 +119,9 @@
#include "acdebug.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbinput")
@ -980,5 +980,5 @@ AcpiDbUserCommands (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbstats - Generation and display of ACPI table statistics
* $Revision: 60 $
* $Revision: 61 $
*
******************************************************************************/
@ -119,9 +119,9 @@
#include <acdebug.h>
#include <acnamesp.h>
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbstats")
/*
@ -240,8 +240,6 @@ AcpiDbEnumerateObject (
}
#ifndef PARSER_ONLY
/*******************************************************************************
*
* FUNCTION: AcpiDbClassifyOneObject
@ -346,8 +344,6 @@ AcpiDbCountNamespaceObjects (
FALSE, AcpiDbClassifyOneObject, NULL, NULL);
}
#endif
/*******************************************************************************
*
@ -395,13 +391,11 @@ AcpiDbDisplayStatistics (
switch (Type)
{
#ifndef PARSER_ONLY
case CMD_STAT_ALLOCATIONS:
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
AcpiUtDumpAllocationInfo ();
#endif
break;
#endif
case CMD_STAT_TABLES:
@ -414,8 +408,6 @@ AcpiDbDisplayStatistics (
case CMD_STAT_OBJECTS:
#ifndef PARSER_ONLY
AcpiDbCountNamespaceObjects ();
AcpiOsPrintf ("\nObjects defined in the current namespace:\n\n");
@ -432,8 +424,6 @@ AcpiDbDisplayStatistics (
AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "TOTALS:",
AcpiGbl_NumNodes, AcpiGbl_NumObjects);
#endif
break;
case CMD_STAT_MEMORY:
@ -537,7 +527,7 @@ AcpiDbDisplayStatistics (
case CMD_STAT_STACK:
#if defined(ACPI_DEBUG)
#if defined(ACPI_DEBUG_OUTPUT)
Size = (UINT32) (AcpiGbl_EntryStackPointer - AcpiGbl_LowestStackPointer);
@ -558,4 +548,4 @@ AcpiDbDisplayStatistics (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbutils - AML debugger utilities
* $Revision: 55 $
* $Revision: 56 $
*
******************************************************************************/
@ -123,9 +123,9 @@
#include "acdispat.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbutils")
@ -486,6 +486,6 @@ AcpiDbLocalNsLookup (
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbxface - AML Debugger external interfaces
* $Revision: 61 $
* $Revision: 64 $
*
******************************************************************************/
@ -121,9 +121,9 @@
#include "acdisasm.h"
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbxface")
@ -292,7 +292,7 @@ AcpiDbSingleStep (
/* Restore everything */
Op->Common.Next = Next;
AcpiOsPrintf ("\n");
AcpiOsPrintf ("\n\n");
AcpiDbgLevel = OriginalDebugLevel;
}
@ -512,4 +512,4 @@ AcpiDbTerminate (void)
}
#endif /* ENABLE_DEBUGGER */
#endif /* ACPI_DEBUGGER */

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmbuffer - AML disassembler, buffer and string support
* $Revision: 5 $
* $Revision: 7 $
*
******************************************************************************/
@ -123,7 +123,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dmbuffer")

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmnames - AML disassembler, names, namestrings, pathnames
* $Revision: 2 $
* $Revision: 3 $
*
******************************************************************************/
@ -124,7 +124,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dmnames")
@ -145,7 +145,7 @@ AcpiDmValidateName (
char *Name,
ACPI_PARSE_OBJECT *Op)
{
#ifdef PARSER_ONLY
#if 0
ACPI_PARSE_OBJECT *TargetOp;
@ -226,58 +226,6 @@ AcpiDmDumpName (
*
******************************************************************************/
#ifdef PARSER_ONLY
ACPI_STATUS
AcpiPsDisplayObjectPathname (
ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT *Op)
{
ACPI_PARSE_OBJECT *TargetOp;
char *Name;
if (Op->Common.Flags & ACPI_PARSEOP_GENERIC)
{
Name = Op->Common.Value.Name;
if (Name[0] == '\\')
{
AcpiOsPrintf (" (Fully Qualified Pathname)");
return (AE_OK);
}
}
else
{
Name = (char *) &Op->Named.Name;
}
/* Search parent tree up to the root if necessary */
TargetOp = AcpiPsFind (Op, Name, 0, 0);
if (!TargetOp)
{
/*
* Didn't find the name in the parse tree. This may be
* a problem, or it may simply be one of the predefined names
* (such as _OS_). Rather than worry about looking up all
* the predefined names, just display the name as given
*/
AcpiOsPrintf (" **** Path not found in parse tree");
}
else
{
/* The target was found, print the name and complete path */
AcpiOsPrintf (" (Path ");
AcpiDmDisplayPath (TargetOp);
AcpiOsPrintf (")");
}
return (AE_OK);
}
#else
ACPI_STATUS
AcpiPsDisplayObjectPathname (
ACPI_WALK_STATE *WalkState,
@ -341,8 +289,6 @@ AcpiPsDisplayObjectPathname (
return (Status);
}
#endif
/*******************************************************************************
*

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmopcode - AML disassembler, specific AML opcodes
* $Revision: 75 $
* $Revision: 77 $
*
******************************************************************************/
@ -122,7 +122,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dmopcode")
@ -419,7 +419,7 @@ AcpiDmDisassembleOneOp (
case AML_BYTE_OP:
AcpiOsPrintf ("0x%.2X", (UINT32) Op->Common.Value.Integer8);
AcpiOsPrintf ("0x%2.2X", (UINT32) Op->Common.Value.Integer8);
break;
@ -431,7 +431,7 @@ AcpiDmDisassembleOneOp (
}
else
{
AcpiOsPrintf ("0x%.2X", (UINT32) Op->Common.Value.Integer16);
AcpiOsPrintf ("0x%4.4X", (UINT32) Op->Common.Value.Integer16);
}
break;
@ -442,30 +442,17 @@ AcpiDmDisassembleOneOp (
{
AcpiDmEisaId (Op->Common.Value.Integer32);
}
else if ((Op->Common.Value.Integer32 == ACPI_UINT32_MAX) &&
(AcpiGbl_DSDT->Revision < 2))
{
AcpiOsPrintf ("Ones");
}
else
{
AcpiOsPrintf ("0x%.2X", Op->Common.Value.Integer32);
AcpiOsPrintf ("0x%8.8X", Op->Common.Value.Integer32);
}
break;
case AML_QWORD_OP:
if ((Op->Common.Value.Integer == ACPI_INTEGER_MAX) &&
(AcpiGbl_DSDT->Revision >= 2))
{
AcpiOsPrintf ("Ones");
}
else
{
AcpiOsPrintf ("0x%X%8.8X", Op->Common.Value.Integer64.Hi,
AcpiOsPrintf ("0x%8.8X%8.8X", Op->Common.Value.Integer64.Hi,
Op->Common.Value.Integer64.Lo);
}
break;
@ -596,7 +583,7 @@ AcpiDmDisassembleOneOp (
AcpiOsPrintf ("%s", OpInfo->Name);
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
if ((Op->Common.AmlOpcode == AML_INT_RETURN_VALUE_OP) &&
(WalkState) &&

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrc.c - Resource Descriptor disassembly
* $Revision: 3 $
* $Revision: 5 $
*
******************************************************************************/
@ -121,7 +121,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbresrc")

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrcl.c - "Large" Resource Descriptor disassembly
* $Revision: 5 $
* $Revision: 7 $
*
******************************************************************************/
@ -121,7 +121,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbresrcl")

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrcs.c - "Small" Resource Descriptor disassembly
* $Revision: 2 $
* $Revision: 3 $
*
******************************************************************************/
@ -121,7 +121,7 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dbresrcs")

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmutils - AML disassembler utilities
* $Revision: 2 $
* $Revision: 4 $
*
******************************************************************************/
@ -122,12 +122,10 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dmutils")
/* Data used in keeping track of fields */
#if 0
const NATIVE_CHAR *AcpiGbl_FENames[NUM_FIELD_NAMES] =
@ -401,5 +399,4 @@ AcpiDmCommaIfFieldMember (
}
#endif

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmwalk - AML disassembly tree walk
* $Revision: 6 $
* $Revision: 8 $
*
******************************************************************************/
@ -124,14 +124,13 @@
#ifdef ACPI_DISASSEMBLER
#define _COMPONENT ACPI_DEBUGGER
#define _COMPONENT ACPI_CA_DEBUGGER
ACPI_MODULE_NAME ("dmwalk")
#define DB_FULL_OP_INFO "%5.5X #%4.4hX "
/*******************************************************************************
*
* FUNCTION: AcpiDmDisassemble

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsfield - Dispatcher field routines
* $Revision: 65 $
* $Revision: 66 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsmethod - Parser/Interpreter interface - control method parsing
* $Revision: 87 $
* $Revision: 88 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dsmthdat - control method arguments and local variables
* $Revision: 62 $
* $Revision: 63 $
*
******************************************************************************/
@ -704,25 +704,44 @@ AcpiDsStoreObjectToLocal (
*
* Weird, but true.
*/
if ((Opcode == AML_ARG_OP) &&
(ACPI_GET_DESCRIPTOR_TYPE (CurrentObjDesc) == ACPI_DESC_TYPE_NAMED))
if (Opcode == AML_ARG_OP)
{
/*
* Make sure that the object is the correct type. This may be overkill, but
* it is here because references were NS nodes in the past. Now they are
* operand objects of type Reference.
*/
if (ACPI_GET_DESCRIPTOR_TYPE (CurrentObjDesc) != ACPI_DESC_TYPE_OPERAND)
{
ACPI_REPORT_ERROR (("Invalid descriptor type while storing to method arg: %X\n",
CurrentObjDesc->Common.Type));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
/*
* If we have a valid reference object that came from RefOf(), do the
* indirect store
*/
if ((CurrentObjDesc->Common.Type == INTERNAL_TYPE_REFERENCE) &&
(CurrentObjDesc->Reference.Opcode == AML_REF_OF_OP))
{
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
"Arg (%p) is an ObjRef(Node), storing in node %p\n",
ObjDesc, CurrentObjDesc));
/* Detach an existing object from the Node */
/* Detach an existing object from the referenced Node */
AcpiNsDetachObject ((ACPI_NAMESPACE_NODE *) CurrentObjDesc);
AcpiNsDetachObject (CurrentObjDesc->Reference.Object);
/*
* Store this object into the Node
* (perform the indirect store)
*/
Status = AcpiNsAttachObject ((ACPI_NAMESPACE_NODE *) CurrentObjDesc,
Status = AcpiNsAttachObject (CurrentObjDesc->Reference.Object,
ObjDesc, ACPI_GET_OBJECT_TYPE (ObjDesc));
return_ACPI_STATUS (Status);
}
}
/*
* Delete the existing object

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsobject - Dispatcher object management routines
* $Revision: 105 $
* $Revision: 106 $
*
*****************************************************************************/
@ -924,4 +924,3 @@ AcpiDsInitObjectFromOp (
}

View File

@ -2,7 +2,7 @@
*
* Module Name: dsopcode - Dispatcher Op Region support and handling of
* "control" opcodes
* $Revision: 80 $
* $Revision: 81 $
*
*****************************************************************************/
@ -848,7 +848,6 @@ AcpiDsEvalRegionOperands (
}
/*****************************************************************************
*
* FUNCTION: AcpiDsEvalDataObjectOperands
@ -950,7 +949,6 @@ AcpiDsEvalDataObjectOperands (
}
/*******************************************************************************
*
* FUNCTION: AcpiDsExecBeginControlOp

View File

@ -2,7 +2,7 @@
*
* Module Name: dswexec - Dispatcher method execution callbacks;
* dispatch to interpreter.
* $Revision: 94 $
* $Revision: 95 $
*
*****************************************************************************/
@ -417,7 +417,6 @@ AcpiDsExecBeginOp (
}
/*****************************************************************************
*
* FUNCTION: AcpiDsExecEndOp

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswload - Dispatcher namespace load callbacks
* $Revision: 69 $
* $Revision: 70 $
*
*****************************************************************************/
@ -404,7 +404,7 @@ AcpiDsLoad2BeginOp (
NATIVE_CHAR *BufferPtr;
ACPI_FUNCTION_NAME ("DsLoad2BeginOp");
ACPI_FUNCTION_TRACE ("DsLoad2BeginOp");
Op = WalkState->Op;
@ -417,7 +417,7 @@ AcpiDsLoad2BeginOp (
if ((!(WalkState->OpInfo->Flags & AML_NSOPCODE) && (WalkState->Opcode != AML_INT_NAMEPATH_OP)) ||
(!(WalkState->OpInfo->Flags & AML_NAMED)))
{
return (AE_OK);
return_ACPI_STATUS (AE_OK);
}
/*
@ -432,7 +432,7 @@ AcpiDsLoad2BeginOp (
{
/* No name, just exit */
return (AE_OK);
return_ACPI_STATUS (AE_OK);
}
}
else
@ -488,11 +488,11 @@ AcpiDsLoad2BeginOp (
Status = AcpiDsScopeStackPush (Node, ObjectType, WalkState);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
}
return (AE_OK);
return_ACPI_STATUS (AE_OK);
}
/*
@ -513,7 +513,7 @@ AcpiDsLoad2BeginOp (
Op = AcpiPsAllocOp (WalkState->Opcode);
if (!Op)
{
return (AE_NO_MEMORY);
return_ACPI_STATUS (AE_NO_MEMORY);
}
/* Initialize the new op */
@ -535,7 +535,7 @@ AcpiDsLoad2BeginOp (
Op->Common.Node = Node;
}
return (Status);
return_ACPI_STATUS (Status);
}
@ -569,7 +569,7 @@ AcpiDsLoad2EndOp (
#endif
ACPI_FUNCTION_NAME ("DsLoad2EndOp");
ACPI_FUNCTION_TRACE ("DsLoad2EndOp");
Op = WalkState->Op;
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Opcode [%s] Op %p State %p\n",
@ -579,7 +579,7 @@ AcpiDsLoad2EndOp (
if (!(WalkState->OpInfo->Flags & AML_NSOBJECT))
{
return (AE_OK);
return_ACPI_STATUS (AE_OK);
}
if (Op->Common.AmlOpcode == AML_SCOPE_OP)
@ -606,7 +606,7 @@ AcpiDsLoad2EndOp (
/* Pop the scope stack */
if (AcpiNsOpensScope (ObjectType))
if (AcpiNsOpensScope (ObjectType) && (Op->Common.AmlOpcode != AML_INT_METHODCALL_OP))
{
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "(%s) Popping scope for Op %p\n",
AcpiUtGetTypeName (ObjectType), Op));
@ -614,7 +614,7 @@ AcpiDsLoad2EndOp (
Status = AcpiDsScopeStackPop (WalkState);
if (ACPI_FAILURE (Status))
{
return (Status);
return_ACPI_STATUS (Status);
}
}
@ -871,7 +871,7 @@ AcpiDsLoad2EndOp (
WalkState->Operands[0] = NULL;
WalkState->NumOperands = 0;
return (Status);
return_ACPI_STATUS (Status);
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
* $Revision: 67 $
* $Revision: 68 $
*
*****************************************************************************/
@ -962,6 +962,8 @@ AcpiDsCreateWalkState (
WalkState->MethodDesc = MthDesc;
WalkState->Thread = Thread;
WalkState->ParserState.StartOp = Origin;
/* Init the method args/local */
#if (!defined (ACPI_NO_METHOD_EXECUTION) && !defined (ACPI_CONSTANT_EVAL_ONLY))
@ -1012,6 +1014,7 @@ AcpiDsInitAmlWalk (
{
ACPI_STATUS Status;
ACPI_PARSE_STATE *ParserState = &WalkState->ParserState;
ACPI_PARSE_OBJECT *ExtraOp;
ACPI_FUNCTION_TRACE ("DsInitAmlWalk");
@ -1059,9 +1062,26 @@ AcpiDsInitAmlWalk (
}
else
{
/* Setup the current scope */
/*
* Setup the current scope.
* Find a Named Op that has a namespace node associated with it.
* search upwards from this Op. Current scope is the first
* Op with a namespace node.
*/
ExtraOp = ParserState->StartOp;
while (ExtraOp && !ExtraOp->Common.Node)
{
ExtraOp = ExtraOp->Common.Parent;
}
if (!ExtraOp)
{
ParserState->StartNode = NULL;
}
else
{
ParserState->StartNode = ExtraOp->Common.Node;
}
ParserState->StartNode = ParserState->StartOp->Common.Node;
if (ParserState->StartNode)
{
/* Push start scope on scope stack and make it current */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evevent - Fixed and General Purpose Even handling and dispatch
* $Revision: 88 $
* $Revision: 90 $
*
*****************************************************************************/
@ -198,7 +198,7 @@ AcpiEvHandlerInitialize (
ACPI_STATUS Status;
ACPI_FUNCTION_TRACE ("EvInitialize");
ACPI_FUNCTION_TRACE ("EvHandlerInitialize");
/* Install the SCI handler */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evmisc - Miscellaneous event manager support functions
* $Revision: 53 $
* $Revision: 56 $
*
*****************************************************************************/
@ -556,12 +556,14 @@ AcpiEvAcquireGlobalLock (
ACPI_FUNCTION_TRACE ("EvAcquireGlobalLock");
#ifndef ACPI_APPLICATION
/* Make sure that we actually have a global lock */
if (!AcpiGbl_GlobalLockPresent)
{
return_ACPI_STATUS (AE_NO_GLOBAL_LOCK);
}
#endif
/* One more thread wants the global lock */
@ -672,9 +674,64 @@ AcpiEvReleaseGlobalLock (void)
void
AcpiEvTerminate (void)
{
NATIVE_UINT_MAX32 i;
ACPI_STATUS Status;
ACPI_FUNCTION_TRACE ("EvTerminate");
/*
* Disable all event-related functionality.
* In all cases, on error, print a message but obviously we don't abort.
*/
/*
* Disable all fixed events
*/
for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++)
{
Status = AcpiDisableEvent(i, ACPI_EVENT_FIXED, 0);
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Failed to disable fixed event %d.\n", i));
}
}
/*
* Disable all GPEs
*/
for (i = 0; i < AcpiGbl_GpeNumberMax; i++)
{
if (AcpiEvGetGpeNumberIndex(i) != ACPI_GPE_INVALID)
{
Status = AcpiHwDisableGpe(i);
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Failed to disable GPE %d.\n", i));
}
}
}
/*
* Remove SCI handler
*/
Status = AcpiEvRemoveSciHandler();
if (ACPI_FAILURE(Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unable to remove SCI handler.\n"));
}
/*
* Return to original mode if necessary
*/
if (AcpiGbl_OriginalMode == ACPI_SYS_MODE_LEGACY)
{
Status = AcpiDisable ();
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "AcpiDisable failed.\n"));
}
}
/*
* Free global tables, etc.

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evregion - ACPI AddressSpace (OpRegion) handler dispatch
* $Revision: 134 $
* $Revision: 135 $
*
*****************************************************************************/
@ -126,7 +126,6 @@
ACPI_MODULE_NAME ("evregion")
/*******************************************************************************
*
* FUNCTION: AcpiEvInitAddressSpaces

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evrgnini- ACPI AddressSpace (OpRegion) init
* $Revision: 62 $
* $Revision: 63 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evxface - External interfaces for ACPI events
* $Revision: 129 $
* $Revision: 130 $
*
*****************************************************************************/
@ -126,7 +126,6 @@
ACPI_MODULE_NAME ("evxface")
/*******************************************************************************
*
* FUNCTION: AcpiInstallFixedEventHandler

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
* $Revision: 55 $
* $Revision: 57 $
*
*****************************************************************************/
@ -145,17 +145,15 @@ AcpiEnable (void)
ACPI_FUNCTION_TRACE ("AcpiEnable");
/* Make sure we have ACPI tables */
/* Make sure we have the FADT*/
if (!AcpiGbl_DSDT)
if (!AcpiGbl_FADT)
{
ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "No ACPI tables present!\n"));
ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "No FADT information present!\n"));
return_ACPI_STATUS (AE_NO_ACPI_TABLES);
}
AcpiGbl_OriginalMode = AcpiHwGetMode ();
if (AcpiGbl_OriginalMode == ACPI_SYS_MODE_ACPI)
if (AcpiHwGetMode() == ACPI_SYS_MODE_ACPI)
{
ACPI_DEBUG_PRINT ((ACPI_DB_OK, "Already in ACPI mode.\n"));
}
@ -185,8 +183,7 @@ AcpiEnable (void)
*
* RETURN: Status
*
* DESCRIPTION: Returns the system to original ACPI/legacy mode, and
* uninstalls the SCI interrupt handler.
* DESCRIPTION: Transfers the system into LEGACY mode.
*
******************************************************************************/
@ -198,22 +195,30 @@ AcpiDisable (void)
ACPI_FUNCTION_TRACE ("AcpiDisable");
if (AcpiHwGetMode () != AcpiGbl_OriginalMode)
if (!AcpiGbl_FADT)
{
/* Restore original mode */
ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "No FADT information present!\n"));
return_ACPI_STATUS (AE_NO_ACPI_TABLES);
}
if (AcpiHwGetMode() == ACPI_SYS_MODE_LEGACY)
{
ACPI_DEBUG_PRINT ((ACPI_DB_OK, "Already in LEGACY mode.\n"));
}
else
{
/* Transition to LEGACY mode */
Status = AcpiHwSetMode (ACPI_SYS_MODE_LEGACY);
Status = AcpiHwSetMode (AcpiGbl_OriginalMode);
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unable to transition to original mode"));
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Could not transition to LEGACY mode."));
return_ACPI_STATUS (Status);
}
ACPI_DEBUG_PRINT ((ACPI_DB_OK, "Transition to LEGACY mode successful\n"));
}
/* Unload the SCI interrupt handler */
Status = AcpiEvRemoveSciHandler ();
return_ACPI_STATUS (Status);
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exdump - Interpreter debug output routines
* $Revision: 157 $
* $Revision: 159 $
*
*****************************************************************************/
@ -130,7 +130,7 @@
* The following routines are used for debug output only
*/
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*****************************************************************************
*
@ -155,7 +155,6 @@ AcpiExDumpOperand (
UINT16 ElementIndex;
ACPI_FUNCTION_NAME ("ExDumpOperand")

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exfldio - Aml Field I/O
* $Revision: 87 $
* $Revision: 88 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
* $Revision: 107 $
* $Revision: 108 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
* $Revision: 141 $
* $Revision: 142 $
*
*****************************************************************************/
@ -306,7 +306,6 @@ AcpiExOpcode_1A_1T_1R (
ACPI_FUNCTION_TRACE_STR ("ExOpcode_1A_1T_1R", AcpiPsGetOpcodeName (WalkState->Opcode));
/* Examine the AML opcode */
switch (WalkState->Opcode)

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
* $Revision: 109 $
* $Revision: 110 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exprep - ACPI AML (p-code) execution - field prep utilities
* $Revision: 118 $
* $Revision: 119 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exregion - ACPI default OpRegion (address space) handlers
* $Revision: 79 $
* $Revision: 80 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exresop - AML Interpreter operand/object resolution
* $Revision: 54 $
* $Revision: 55 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exstore - AML Interpreter object store support
* $Revision: 168 $
* $Revision: 169 $
*
*****************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exutils - interpreter/scanner utilities
* $Revision: 102 $
* $Revision: 103 $
*
*****************************************************************************/
@ -363,7 +363,8 @@ AcpiExReleaseGlobalLock (
{
/* Report the error, but there isn't much else we can do */
ACPI_REPORT_ERROR (("Could not release ACPI Global Lock\n"));
ACPI_REPORT_ERROR (("Could not release ACPI Global Lock, %s\n",
AcpiFormatException (Status)));
}
}

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
* $Revision: 58 $
* $Revision: 60 $
*
*****************************************************************************/
@ -190,6 +190,29 @@ AcpiHwSetMode (
ACPI_FUNCTION_TRACE ("HwSetMode");
/*
* ACPI 2.0 clarified that if SMI_CMD in FADT is zero,
* system does not support mode transition.
*/
if (!AcpiGbl_FADT->SmiCmd)
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No SMI_CMD in FADT, mode transition failed.\n"));
return_ACPI_STATUS (AE_NO_HARDWARE_RESPONSE);
}
/*
* ACPI 2.0 clarified the meaning of ACPI_ENABLE and ACPI_DISABLE
* in FADT: If it is zero, enabling or disabling is not supported.
* As old systems may have used zero for mode transition,
* we make sure both the numbers are zero to determine these
* transitions are not supported.
*/
if (!AcpiGbl_FADT->AcpiEnable && !AcpiGbl_FADT->AcpiDisable)
{
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "No mode transition supported in this system.\n"));
return_ACPI_STATUS (AE_OK);
}
switch (Mode)
{
case ACPI_SYS_MODE_ACPI:
@ -231,7 +254,8 @@ AcpiHwSetMode (
{
Status = AE_NO_HARDWARE_RESPONSE;
if (AcpiHwGetMode() == Mode) {
if (AcpiHwGetMode() == Mode)
{
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Mode %X successfully enabled\n", Mode));
Status = AE_OK;
break;

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
* $Revision: 41 $
* $Revision: 42 $
*
*****************************************************************************/

View File

@ -3,7 +3,7 @@
*
* Module Name: hwregs - Read/write access functions for the various ACPI
* control and status registers.
* $Revision: 133 $
* $Revision: 134 $
*
******************************************************************************/

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Interface
* $Revision: 45 $
* $Revision: 46 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nsaccess - Top-level functions for accessing ACPI namespace
* $Revision: 156 $
* $Revision: 161 $
*
******************************************************************************/
@ -216,6 +216,19 @@ AcpiNsRootInitialize (void)
*/
switch (InitVal->Type)
{
case ACPI_TYPE_METHOD:
ObjDesc->Method.ParamCount =
(UINT8) ACPI_STRTOUL (InitVal->Val, NULL, 10);
ObjDesc->Common.Flags |= AOPOBJ_DATA_VALID;
#if defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
/* Compiler cheats by putting parameter count in the OwnerID */
NewNode->OwnerId = ObjDesc->Method.ParamCount;
#endif
break;
case ACPI_TYPE_INTEGER:
ObjDesc->Integer.Value =
@ -331,6 +344,7 @@ AcpiNsLookup (
ACPI_NAMESPACE_NODE **ReturnNode)
{
ACPI_STATUS Status;
NATIVE_CHAR *Path = Pathname;
ACPI_NAMESPACE_NODE *PrefixNode;
ACPI_NAMESPACE_NODE *CurrentNode = NULL;
ACPI_NAMESPACE_NODE *ThisNode = NULL;
@ -338,7 +352,9 @@ AcpiNsLookup (
ACPI_NAME SimpleName;
ACPI_OBJECT_TYPE TypeToCheckFor;
ACPI_OBJECT_TYPE ThisSearchType;
UINT32 LocalFlags = Flags & ~ACPI_NS_ERROR_IF_FOUND;
UINT32 SearchParentFlag = ACPI_NS_SEARCH_PARENT;
UINT32 LocalFlags = Flags & ~(ACPI_NS_ERROR_IF_FOUND |
ACPI_NS_SEARCH_PARENT);
ACPI_FUNCTION_TRACE ("NsLookup");
@ -373,6 +389,23 @@ AcpiNsLookup (
else
{
PrefixNode = ScopeInfo->Scope.Node;
if (ACPI_GET_DESCRIPTOR_TYPE (PrefixNode) != ACPI_DESC_TYPE_NAMED)
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "[%p] Not a namespace node\n",
PrefixNode));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
/*
* This node might not be a actual "scope" node (such as a
* Device/Method, etc.) It could be a Package or other object node.
* Backup up the tree to find the containing scope node.
*/
while (!AcpiNsOpensScope (PrefixNode->Type) &&
PrefixNode->Type != ACPI_TYPE_ANY)
{
PrefixNode = AcpiNsGetParentNode (PrefixNode);
}
}
/*
@ -408,7 +441,7 @@ AcpiNsLookup (
NumSegments = 0;
ThisNode = AcpiGbl_RootNode;
Pathname = "";
Path = "";
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Null Pathname (Zero segments), Flags=%X\n", Flags));
@ -428,25 +461,26 @@ AcpiNsLookup (
* Parent Prefixes (in which case the name's scope is relative
* to the current scope).
*/
if (*Pathname == (UINT8) AML_ROOT_PREFIX)
if (*Path == (UINT8) AML_ROOT_PREFIX)
{
/* Pathname is fully qualified, start from the root */
ThisNode = AcpiGbl_RootNode;
SearchParentFlag = ACPI_NS_NO_UPSEARCH;
/* Point to name segment part */
Pathname++;
Path++;
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES, "Searching from root [%p]\n",
ThisNode));
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Path is absolute from root [%p]\n", ThisNode));
}
else
{
/* Pathname is relative to current scope, start there */
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Searching relative to pfx scope [%p]\n",
"Searching relative to prefix scope [%p]\n",
PrefixNode));
/*
@ -454,13 +488,16 @@ AcpiNsLookup (
* the parent node for each prefix instance.
*/
ThisNode = PrefixNode;
while (*Pathname == (UINT8) AML_PARENT_PREFIX)
while (*Path == (UINT8) AML_PARENT_PREFIX)
{
/* Name is fully qualified, no search rules apply */
SearchParentFlag = ACPI_NS_NO_UPSEARCH;
/*
* Point past this prefix to the name segment
* part or the next Parent Prefix
*/
Pathname++;
Path++;
/* Backup to the parent node */
@ -474,6 +511,12 @@ AcpiNsLookup (
return_ACPI_STATUS (AE_NOT_FOUND);
}
}
if (SearchParentFlag == ACPI_NS_NO_UPSEARCH)
{
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Path is absolute with one or more carats\n"));
}
}
/*
@ -489,7 +532,7 @@ AcpiNsLookup (
* Examine the name prefix opcode, if any, to determine the number of
* segments.
*/
switch (*Pathname)
switch (*Path)
{
case 0:
/*
@ -504,10 +547,14 @@ AcpiNsLookup (
case AML_DUAL_NAME_PREFIX:
/* More than one NameSeg, search rules do not apply */
SearchParentFlag = ACPI_NS_NO_UPSEARCH;
/* Two segments, point to first name segment */
NumSegments = 2;
Pathname++;
Path++;
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Dual Pathname (2 segments, Flags=%X)\n", Flags));
@ -515,11 +562,15 @@ AcpiNsLookup (
case AML_MULTI_NAME_PREFIX_OP:
/* More than one NameSeg, search rules do not apply */
SearchParentFlag = ACPI_NS_NO_UPSEARCH;
/* Extract segment count, point to first name segment */
Pathname++;
NumSegments = (UINT32) (UINT8) *Pathname;
Pathname++;
Path++;
NumSegments = (UINT32) (UINT8) *Path;
Path++;
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Multi Pathname (%d Segments, Flags=%X) \n",
@ -538,35 +589,53 @@ AcpiNsLookup (
break;
}
ACPI_DEBUG_EXEC (AcpiNsPrintPathname (NumSegments, Pathname));
ACPI_DEBUG_EXEC (AcpiNsPrintPathname (NumSegments, Path));
}
/*
* Search namespace for each segment of the name. Loop through and
* verify/add each name segment.
*/
CurrentNode = ThisNode;
while (NumSegments && CurrentNode)
{
/*
* Search for the current name segment under the current
* named object. The Type is significant only at the last name
* verify (or add to the namespace) each name segment.
*
* The object type is significant only at the last name
* segment. (We don't care about the types along the path, only
* the type of the final target object.)
*/
ThisSearchType = ACPI_TYPE_ANY;
CurrentNode = ThisNode;
while (NumSegments && CurrentNode)
{
NumSegments--;
if (!NumSegments)
{
/*
* This is the last segment, enable typechecking
*/
ThisSearchType = Type;
LocalFlags = Flags;
/*
* Only allow automatic parent search (search rules) if the caller
* requested it AND we have a single, non-fully-qualified NameSeg
*/
if ((SearchParentFlag != ACPI_NS_NO_UPSEARCH) &&
(Flags & ACPI_NS_SEARCH_PARENT))
{
LocalFlags |= ACPI_NS_SEARCH_PARENT;
}
/* Set error flag according to caller */
if (Flags & ACPI_NS_ERROR_IF_FOUND)
{
LocalFlags |= ACPI_NS_ERROR_IF_FOUND;
}
}
/* Extract one ACPI name from the front of the pathname */
ACPI_MOVE_UNALIGNED32_TO_32 (&SimpleName, Pathname);
ACPI_MOVE_UNALIGNED32_TO_32 (&SimpleName, Path);
/* Try to find the ACPI name */
/* Try to find the single (4 character) ACPI name */
Status = AcpiNsSearchAndEnter (SimpleName, WalkState, CurrentNode,
InterpreterMode, ThisSearchType, LocalFlags, &ThisNode);
@ -578,7 +647,8 @@ AcpiNsLookup (
ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
"Name [%4.4s] not found in scope [%4.4s] %p\n",
(char *) &SimpleName, (char *) &CurrentNode->Name, CurrentNode));
(char *) &SimpleName, (char *) &CurrentNode->Name,
CurrentNode));
}
return_ACPI_STATUS (Status);
@ -627,7 +697,7 @@ AcpiNsLookup (
/* Point to next name segment and make this node current */
Pathname += ACPI_NAME_SIZE;
Path += ACPI_NAME_SIZE;
CurrentNode = ThisNode;
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsdump - table dumping routines for debug
* $Revision: 137 $
* $Revision: 139 $
*
*****************************************************************************/
@ -125,7 +125,7 @@
#define _COMPONENT ACPI_NAMESPACE
ACPI_MODULE_NAME ("nsdump")
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*******************************************************************************

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsdump - table dumping routines for debug
* $Revision: 1 $
* $Revision: 3 $
*
*****************************************************************************/
@ -126,7 +126,7 @@
ACPI_MODULE_NAME ("nsdumpdv")
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*******************************************************************************
*

View File

@ -2,7 +2,7 @@
*
* Module Name: nseval - Object evaluation interfaces -- includes control
* method lookup and execution.
* $Revision: 117 $
* $Revision: 118 $
*
******************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsinit - namespace initialization
* $Revision: 47 $
* $Revision: 49 $
*
*****************************************************************************/
@ -479,7 +479,7 @@ AcpiNsInitOneDevice (
{
/* Ignore error and move on to next device */
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
NATIVE_CHAR *ScopeName = AcpiNsGetExternalPathname (ObjHandle);
ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "%s._INI failed: %s\n",

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsload - namespace loading/expanding/contracting procedures
* $Revision: 57 $
* $Revision: 58 $
*
*****************************************************************************/
@ -534,7 +534,6 @@ AcpiNsLoadNamespace (
}
/*******************************************************************************
*
* FUNCTION: AcpiNsDeleteSubtree

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nsnames - Name manipulation and search
* $Revision: 78 $
* $Revision: 79 $
*
******************************************************************************/
@ -198,7 +198,7 @@ AcpiNsBuildExternalPath (
}
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
/*******************************************************************************
*
* FUNCTION: AcpiNsGetExternalPathname

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nssearch - Namespace search
* $Revision: 86 $
* $Revision: 89 $
*
******************************************************************************/
@ -163,7 +163,7 @@ AcpiNsSearchNode (
ACPI_FUNCTION_TRACE ("NsSearchNode");
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
if (ACPI_LV_NAMES & AcpiDbgLevel)
{
NATIVE_CHAR *ScopeName;
@ -395,10 +395,10 @@ AcpiNsSearchAndEnter (
if (!Node || !TargetName || !ReturnNode)
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Null param- Table %p Name %X Return %p\n",
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Null param: Node %p Name %X ReturnNode %p\n",
Node, TargetName, ReturnNode));
ACPI_REPORT_ERROR (("NsSearchAndEnter: bad (null) parameter\n"));
ACPI_REPORT_ERROR (("NsSearchAndEnter: Null parameter\n"));
return_ACPI_STATUS (AE_BAD_PARAMETER);
}

View File

@ -2,7 +2,7 @@
*
* Module Name: nsutils - Utilities for accessing ACPI namespace, accessing
* parents and siblings and Scope manipulation
* $Revision: 110 $
* $Revision: 112 $
*
*****************************************************************************/
@ -557,10 +557,14 @@ AcpiNsExternalizeName (
case '^':
for (i = 0; i < InternalNameLength; i++)
{
if (InternalName[i] != '^')
if (InternalName[i] == '^')
{
PrefixLength = i + 1;
}
else
{
break;
}
}
if (i == InternalNameLength)
@ -980,7 +984,7 @@ AcpiNsFindParentName (
}
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*******************************************************************************
*
@ -1016,7 +1020,7 @@ AcpiNsExistDownstreamSibling (
return (FALSE);
}
#endif /* ACPI_DEBUG */
#endif /* ACPI_DEBUG_OUTPUT */
/*******************************************************************************

View File

@ -2,7 +2,7 @@
*
* Module Name: nsxfeval - Public interfaces to the ACPI subsystem
* ACPI Object evaluation interfaces
* $Revision: 1 $
* $Revision: 2 $
*
******************************************************************************/
@ -447,7 +447,6 @@ AcpiEvaluateObject (
}
/*******************************************************************************
*
* FUNCTION: AcpiWalkNamespace

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psargs - Parse AML opcode arguments
* $Revision: 62 $
* $Revision: 64 $
*
*****************************************************************************/
@ -256,7 +256,7 @@ AcpiPsGetNextNamestring (
while (AcpiPsIsPrefixChar (ACPI_GET8 (End)))
{
/* include prefix '\\' or '^' */
/* Include prefix '\\' or '^' */
End++;
}
@ -314,20 +314,17 @@ AcpiPsGetNextNamestring (
* MethodCall - Whether the namepath can be the start
* of a method call
*
* RETURN: None
* RETURN: Status
*
* DESCRIPTION: Get next name (if method call, push appropriate # args). Names
* are looked up in either the parsed or internal namespace to
* determine if the name represents a control method. If a method
* DESCRIPTION: Get next name (if method call, return # of required args).
* Names are looked up in the internal namespace to determine
* if the name represents a control method. If a method
* is found, the number of arguments to the method is returned.
* This information is critical for parsing to continue correctly.
*
******************************************************************************/
#ifdef PARSER_ONLY
void
ACPI_STATUS
AcpiPsGetNextNamepath (
ACPI_PARSE_STATE *ParserState,
ACPI_PARSE_OBJECT *Arg,
@ -336,105 +333,7 @@ AcpiPsGetNextNamepath (
{
NATIVE_CHAR *Path;
ACPI_PARSE_OBJECT *NameOp;
ACPI_PARSE_OBJECT *Op;
ACPI_PARSE_OBJECT *Count;
ACPI_FUNCTION_TRACE ("PsGetNextNamepath");
Path = AcpiPsGetNextNamestring (ParserState);
if (!Path || !MethodCall)
{
/* Null name case, create a null namepath object */
AcpiPsInitOp (Arg, AML_INT_NAMEPATH_OP);
Arg->Common.Value.Name = Path;
return_VOID;
}
if (AcpiGbl_ParsedNamespaceRoot)
{
/*
* Lookup the name in the parsed namespace
*/
Op = NULL;
if (MethodCall)
{
Op = AcpiPsFind (AcpiPsGetParentScope (ParserState),
Path, AML_METHOD_OP, 0);
}
if (Op)
{
if (Op->Common.AmlOpcode == AML_METHOD_OP)
{
/*
* The name refers to a control method, so this namepath is a
* method invocation. We need to 1) Get the number of arguments
* associated with this method, and 2) Change the NAMEPATH
* object into a METHODCALL object.
*/
Count = AcpiPsGetArg (Op, 0);
if (Count && Count->Common.AmlOpcode == AML_BYTE_OP)
{
NameOp = AcpiPsAllocOp (AML_INT_NAMEPATH_OP);
if (NameOp)
{
/* Change arg into a METHOD CALL and attach the name */
AcpiPsInitOp (Arg, AML_INT_METHODCALL_OP);
NameOp->Common.Value.Name = Path;
/* Point METHODCALL/NAME to the METHOD Node */
NameOp->Common.Node = (ACPI_NAMESPACE_NODE *) Op;
AcpiPsAppendArg (Arg, NameOp);
*ArgCount = (UINT32) Count->Common.Value.Integer &
METHOD_FLAGS_ARG_COUNT;
}
}
return_VOID;
}
/*
* Else this is normal named object reference.
* Just init the NAMEPATH object with the pathname.
* (See code below)
*/
}
}
/*
* Either we didn't find the object in the namespace, or the object is
* something other than a control method. Just initialize the Op with the
* pathname
*/
AcpiPsInitOp (Arg, AML_INT_NAMEPATH_OP);
Arg->Common.Value.Name = Path;
return_VOID;
}
#else
void
AcpiPsGetNextNamepath (
ACPI_PARSE_STATE *ParserState,
ACPI_PARSE_OBJECT *Arg,
UINT32 *ArgCount,
BOOLEAN MethodCall)
{
NATIVE_CHAR *Path;
ACPI_PARSE_OBJECT *NameOp;
ACPI_STATUS Status;
ACPI_STATUS Status = AE_OK;
ACPI_OPERAND_OBJECT *MethodDesc;
ACPI_NAMESPACE_NODE *Node;
ACPI_GENERIC_STATE ScopeInfo;
@ -444,15 +343,11 @@ AcpiPsGetNextNamepath (
Path = AcpiPsGetNextNamestring (ParserState);
if (!Path || !MethodCall)
/* Null path case is allowed */
if (Path)
{
/* Null name case, create a null namepath object */
AcpiPsInitOp (Arg, AML_INT_NAMEPATH_OP);
Arg->Common.Value.Name = Path;
return_VOID;
}
/*
* Lookup the name in the internal namespace
*/
@ -472,7 +367,7 @@ AcpiPsGetNextNamepath (
Status = AcpiNsLookup (&ScopeInfo, Path, ACPI_TYPE_ANY, ACPI_IMODE_EXECUTE,
ACPI_NS_SEARCH_PARENT | ACPI_NS_DONT_OPEN_SCOPE, NULL,
&Node);
if (ACPI_SUCCESS (Status))
if (ACPI_SUCCESS (Status) && MethodCall)
{
if (Node->Type == ACPI_TYPE_METHOD)
{
@ -483,7 +378,7 @@ AcpiPsGetNextNamepath (
NameOp = AcpiPsAllocOp (AML_INT_NAMEPATH_OP);
if (!NameOp)
{
return_VOID;
return_ACPI_STATUS (AE_NO_MEMORY);
}
/* Change arg into a METHOD CALL and attach name to it */
@ -501,14 +396,14 @@ AcpiPsGetNextNamepath (
{
ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "Control Method - %p has no attached object\n",
Node));
return_VOID;
return_ACPI_STATUS (AE_AML_INTERNAL);
}
ACPI_DEBUG_PRINT ((ACPI_DB_PARSE, "Control Method - %p Args %X\n",
Node, MethodDesc->Method.ParamCount));
*ArgCount = MethodDesc->Method.ParamCount;
return_VOID;
return_ACPI_STATUS (AE_OK);
}
/*
@ -517,20 +412,18 @@ AcpiPsGetNextNamepath (
* (See code below)
*/
}
}
/*
* Either we didn't find the object in the namespace, or the object is
* something other than a control method. Just initialize the Op with the
* pathname.
* Regardless of success/failure above,
* Just initialize the Op with the pathname.
*/
AcpiPsInitOp (Arg, AML_INT_NAMEPATH_OP);
Arg->Common.Value.Name = Path;
return_VOID;
return_ACPI_STATUS (Status);
}
#endif
/*******************************************************************************
*
@ -744,23 +637,25 @@ AcpiPsGetNextField (
* ArgCount - If the argument points to a control method
* the method's argument is returned here.
*
* RETURN: An op object containing the next argument.
* RETURN: Status, and an op object containing the next argument.
*
* DESCRIPTION: Get next argument (including complex list arguments that require
* pushing the parser stack)
*
******************************************************************************/
ACPI_PARSE_OBJECT *
ACPI_STATUS
AcpiPsGetNextArg (
ACPI_PARSE_STATE *ParserState,
UINT32 ArgType,
UINT32 *ArgCount)
UINT32 *ArgCount,
ACPI_PARSE_OBJECT **ReturnArg)
{
ACPI_PARSE_OBJECT *Arg = NULL;
ACPI_PARSE_OBJECT *Prev = NULL;
ACPI_PARSE_OBJECT *Field;
UINT32 Subop;
ACPI_STATUS Status = AE_OK;
ACPI_FUNCTION_TRACE_PTR ("PsGetNextArg", ParserState);
@ -778,16 +673,17 @@ AcpiPsGetNextArg (
/* constants, strings, and namestrings are all the same size */
Arg = AcpiPsAllocOp (AML_BYTE_OP);
if (Arg)
if (!Arg)
{
AcpiPsGetNextSimpleArg (ParserState, ArgType, Arg);
return_ACPI_STATUS (AE_NO_MEMORY);
}
AcpiPsGetNextSimpleArg (ParserState, ArgType, Arg);
break;
case ARGP_PKGLENGTH:
/* package length, nothing returned */
/* Package length, nothing returned */
ParserState->PkgEnd = AcpiPsGetNextPackageEnd (ParserState);
break;
@ -797,21 +693,20 @@ AcpiPsGetNextArg (
if (ParserState->Aml < ParserState->PkgEnd)
{
/* non-empty list */
/* Non-empty list */
while (ParserState->Aml < ParserState->PkgEnd)
{
Field = AcpiPsGetNextField (ParserState);
if (!Field)
{
break;
return_ACPI_STATUS (AE_NO_MEMORY);
}
if (Prev)
{
Prev->Common.Next = Field;
}
else
{
Arg = Field;
@ -820,7 +715,7 @@ AcpiPsGetNextArg (
Prev = Field;
}
/* skip to End of byte data */
/* Skip to End of byte data */
ParserState->Aml = ParserState->PkgEnd;
}
@ -831,18 +726,20 @@ AcpiPsGetNextArg (
if (ParserState->Aml < ParserState->PkgEnd)
{
/* non-empty list */
/* Non-empty list */
Arg = AcpiPsAllocOp (AML_INT_BYTELIST_OP);
if (Arg)
if (!Arg)
{
/* fill in bytelist data */
return_ACPI_STATUS (AE_NO_MEMORY);
}
/* Fill in bytelist data */
Arg->Common.Value.Size = ACPI_PTR_DIFF (ParserState->PkgEnd, ParserState->Aml);
Arg->Named.Data = ParserState->Aml;
}
/* skip to End of byte data */
/* Skip to End of byte data */
ParserState->Aml = ParserState->PkgEnd;
}
@ -852,7 +749,7 @@ AcpiPsGetNextArg (
case ARGP_TARGET:
case ARGP_SUPERNAME:
case ARGP_SIMPLENAME:
{
Subop = AcpiPsPeekOpcode (ParserState);
if (Subop == 0 ||
AcpiPsIsLeadingChar (Subop) ||
@ -861,19 +758,19 @@ AcpiPsGetNextArg (
/* NullName or NameString */
Arg = AcpiPsAllocOp (AML_INT_NAMEPATH_OP);
if (Arg)
if (!Arg)
{
AcpiPsGetNextNamepath (ParserState, Arg, ArgCount, 0);
}
return_ACPI_STATUS (AE_NO_MEMORY);
}
Status = AcpiPsGetNextNamepath (ParserState, Arg, ArgCount, 0);
}
else
{
/* single complex argument, nothing returned */
*ArgCount = 1;
}
}
break;
@ -898,10 +795,14 @@ AcpiPsGetNextArg (
}
break;
default:
ACPI_REPORT_ERROR (("Invalid ArgType: %X\n", ArgType));
Status = AE_AML_OPERAND_TYPE;
break;
}
return_PTR (Arg);
*ReturnArg = Arg;
return_ACPI_STATUS (Status);
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psopcode - Parser/Interpreter opcode information table
* $Revision: 71 $
* $Revision: 72 $
*
*****************************************************************************/
@ -649,17 +649,17 @@ const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES] =
/* 60 */ ACPI_OP ("LNotEqual", ARGP_LNOTEQUAL_OP, ARGI_LNOTEQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT),
/* 61 */ ACPI_OP ("LLessEqual", ARGP_LLESSEQUAL_OP, ARGI_LLESSEQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT),
/* 62 */ ACPI_OP ("LGreaterEqual", ARGP_LGREATEREQUAL_OP, ARGI_LGREATEREQUAL_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_HAS_ARGS | AML_CONSTANT),
/* 63 */ ACPI_OP ("[NamePath]", ARGP_NAMEPATH_OP, ARGI_NAMEPATH_OP, INTERNAL_TYPE_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_NSOBJECT | AML_NSNODE ),
/* 64 */ ACPI_OP ("[MethodCall]", ARGP_METHODCALL_OP, ARGI_METHODCALL_OP, ACPI_TYPE_METHOD, AML_CLASS_METHOD_CALL, AML_TYPE_METHOD_CALL, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE),
/* 65 */ ACPI_OP ("[ByteList]", ARGP_BYTELIST_OP, ARGI_BYTELIST_OP, ACPI_TYPE_ANY, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, 0),
/* 66 */ ACPI_OP ("[ReservedField]", ARGP_RESERVEDFIELD_OP, ARGI_RESERVEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 67 */ ACPI_OP ("[NamedField]", ARGP_NAMEDFIELD_OP, ARGI_NAMEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ),
/* 68 */ ACPI_OP ("[AccessField]", ARGP_ACCESSFIELD_OP, ARGI_ACCESSFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 69 */ ACPI_OP ("[StaticString", ARGP_STATICSTRING_OP, ARGI_STATICSTRING_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 6A */ ACPI_OP ("[Return Value]", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_RETURN_VALUE, AML_TYPE_RETURN, AML_HAS_ARGS | AML_HAS_RETVAL),
/* 6B */ ACPI_OP ("UNKNOWN_OP!", ARG_NONE, ARG_NONE, INTERNAL_TYPE_INVALID, AML_CLASS_UNKNOWN, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* 6C */ ACPI_OP ("ASCII_ONLY!", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_ASCII, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* 6D */ ACPI_OP ("PREFIX_ONLY!", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_PREFIX, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* 63 */ ACPI_OP ("-NamePath-", ARGP_NAMEPATH_OP, ARGI_NAMEPATH_OP, INTERNAL_TYPE_REFERENCE, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, AML_NSOBJECT | AML_NSNODE ),
/* 64 */ ACPI_OP ("-MethodCall-", ARGP_METHODCALL_OP, ARGI_METHODCALL_OP, ACPI_TYPE_METHOD, AML_CLASS_METHOD_CALL, AML_TYPE_METHOD_CALL, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE),
/* 65 */ ACPI_OP ("-ByteList-", ARGP_BYTELIST_OP, ARGI_BYTELIST_OP, ACPI_TYPE_ANY, AML_CLASS_ARGUMENT, AML_TYPE_LITERAL, 0),
/* 66 */ ACPI_OP ("-ReservedField-", ARGP_RESERVEDFIELD_OP, ARGI_RESERVEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 67 */ ACPI_OP ("-NamedField-", ARGP_NAMEDFIELD_OP, ARGI_NAMEDFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ),
/* 68 */ ACPI_OP ("-AccessField-", ARGP_ACCESSFIELD_OP, ARGI_ACCESSFIELD_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 69 */ ACPI_OP ("-StaticString", ARGP_STATICSTRING_OP, ARGI_STATICSTRING_OP, ACPI_TYPE_ANY, AML_CLASS_INTERNAL, AML_TYPE_BOGUS, 0),
/* 6A */ ACPI_OP ("-Return Value-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_RETURN_VALUE, AML_TYPE_RETURN, AML_HAS_ARGS | AML_HAS_RETVAL),
/* 6B */ ACPI_OP ("-UNKNOWN_OP-", ARG_NONE, ARG_NONE, INTERNAL_TYPE_INVALID, AML_CLASS_UNKNOWN, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* 6C */ ACPI_OP ("-ASCII_ONLY-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_ASCII, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* 6D */ ACPI_OP ("-PREFIX_ONLY-", ARG_NONE, ARG_NONE, ACPI_TYPE_ANY, AML_CLASS_PREFIX, AML_TYPE_BOGUS, AML_HAS_ARGS),
/* ACPI 2.0 opcodes */

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psparse - Parser top level AML parse routines
* $Revision: 129 $
* $Revision: 133 $
*
*****************************************************************************/
@ -204,60 +204,6 @@ AcpiPsPeekOpcode (
}
/*******************************************************************************
*
* FUNCTION: AcpiPsFindObject
*
* PARAMETERS: Opcode - Current opcode
* ParserState - Current state
* WalkState - Current state
* *Op - Where found/new op is returned
*
* RETURN: Status
*
* DESCRIPTION: Find a named object. Two versions - one to search the parse
* tree (for parser-only applications such as acpidump), another
* to search the ACPI internal namespace (the parse tree may no
* longer exist)
*
******************************************************************************/
#ifdef PARSER_ONLY
ACPI_STATUS
AcpiPsFindObject (
ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT **OutOp)
{
NATIVE_CHAR *Path;
/* We are only interested in opcodes that have an associated name */
if (!(WalkState->OpInfo->Flags & AML_NAMED))
{
*OutOp = WalkState->Op;
return (AE_OK);
}
/* Find the name in the parse tree */
Path = AcpiPsGetNextNamestring (&WalkState->ParserState);
*OutOp = AcpiPsFind (AcpiPsGetParentScope (&WalkState->ParserState),
Path, WalkState->Opcode, 1);
if (!(*OutOp))
{
return (AE_NOT_FOUND);
}
return (AE_OK);
}
#endif
/*******************************************************************************
*
* FUNCTION: AcpiPsCompleteThisOp
@ -276,7 +222,6 @@ AcpiPsCompleteThisOp (
ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT *Op)
{
#ifndef PARSER_ONLY
ACPI_PARSE_OBJECT *Prev;
ACPI_PARSE_OBJECT *Next;
const ACPI_OPCODE_INFO *ParentInfo;
@ -431,10 +376,6 @@ AcpiPsCompleteThisOp (
}
return_VOID;
#else
return;
#endif
}
@ -496,6 +437,13 @@ AcpiPsNextParseState (
ParserState->Aml = WalkState->AmlLastWhile;
break;
#if 0
case AE_CTRL_SKIP:
ParserState->Aml = ParserState->Scope->ParseScope.PkgEnd;
Status = AE_OK;
break;
#endif
case AE_CTRL_TRUE:
@ -712,15 +660,28 @@ AcpiPsParseLoop (
* Get and append arguments until we find the node that contains
* the name (the type ARGP_NAME).
*/
while (GET_CURRENT_ARG_TYPE (WalkState->ArgTypes) != ARGP_NAME)
while (GET_CURRENT_ARG_TYPE (WalkState->ArgTypes) &&
(GET_CURRENT_ARG_TYPE (WalkState->ArgTypes) != ARGP_NAME))
{
Arg = AcpiPsGetNextArg (ParserState,
Status = AcpiPsGetNextArg (ParserState,
GET_CURRENT_ARG_TYPE (WalkState->ArgTypes),
&WalkState->ArgCount);
&WalkState->ArgCount, &Arg);
if (ACPI_FAILURE (Status))
{
goto CloseThisOp;
}
AcpiPsAppendArg (&PreOp, Arg);
INCREMENT_ARG_LIST (WalkState->ArgTypes);
}
/* Make sure that we found a NAME and didn't run out of arguments */
if (!GET_CURRENT_ARG_TYPE (WalkState->ArgTypes))
{
return_ACPI_STATUS (AE_AML_NO_OPERAND);
}
/* We know that this arg is a name, move to next arg */
INCREMENT_ARG_LIST (WalkState->ArgTypes);
@ -828,8 +789,8 @@ AcpiPsParseLoop (
if (WalkState->OpInfo)
{
ACPI_DEBUG_PRINT ((ACPI_DB_PARSE,
"Opcode %4.4hX [%s] Op %p Aml %p AmlOffset %5.5X\n",
Op->Common.AmlOpcode, WalkState->OpInfo->Name,
"Opcode %4.4X [%s] Op %p Aml %p AmlOffset %5.5X\n",
(UINT32) Op->Common.AmlOpcode, WalkState->OpInfo->Name,
Op, ParserState->Aml, Op->Common.AmlOffset));
}
}
@ -859,7 +820,19 @@ AcpiPsParseLoop (
case AML_INT_NAMEPATH_OP: /* AML_NAMESTRING_ARG */
AcpiPsGetNextNamepath (ParserState, Op, &WalkState->ArgCount, 1);
Status = AcpiPsGetNextNamepath (ParserState, Op, &WalkState->ArgCount, 1);
if (ACPI_FAILURE (Status))
{
/* NOT_FOUND is an error only if we are actually executing a method */
if ((((WalkState->ParseFlags & ACPI_PARSE_MODE_MASK) == ACPI_PARSE_EXECUTE) &&
(Status == AE_NOT_FOUND)) ||
(Status != AE_NOT_FOUND))
{
goto CloseThisOp;
}
}
WalkState->ArgTypes = 0;
break;
@ -872,15 +845,27 @@ AcpiPsParseLoop (
{
WalkState->AmlOffset = ACPI_PTR_DIFF (ParserState->Aml,
ParserState->AmlStart);
Arg = AcpiPsGetNextArg (ParserState,
Status = AcpiPsGetNextArg (ParserState,
GET_CURRENT_ARG_TYPE (WalkState->ArgTypes),
&WalkState->ArgCount);
&WalkState->ArgCount, &Arg);
if (ACPI_FAILURE (Status))
{
/* NOT_FOUND is an error only if we are actually executing a method */
if ((((WalkState->ParseFlags & ACPI_PARSE_MODE_MASK) == ACPI_PARSE_EXECUTE) &&
(Status == AE_NOT_FOUND) &&
(Op->Common.AmlOpcode != AML_COND_REF_OF_OP)) ||
(Status != AE_NOT_FOUND))
{
goto CloseThisOp;
}
}
if (Arg)
{
Arg->Common.AmlOffset = WalkState->AmlOffset;
AcpiPsAppendArg (Op, Arg);
}
INCREMENT_ARG_LIST (WalkState->ArgTypes);
}
@ -1043,6 +1028,8 @@ AcpiPsParseLoop (
AcpiPsPopScope (ParserState, &Op, &WalkState->ArgTypes, &WalkState->ArgCount);
if (Op)
{
WalkState->Op = Op;
WalkState->OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
WalkState->Opcode = Op->Common.AmlOpcode;
@ -1052,6 +1039,7 @@ AcpiPsParseLoop (
AcpiPsCompleteThisOp (WalkState, Op);
Op = NULL;
}
Status = AE_OK;
break;
@ -1225,6 +1213,7 @@ AcpiPsParseAml (
ACPI_WALK_STATE *WalkState)
{
ACPI_STATUS Status;
ACPI_STATUS TerminateStatus;
ACPI_THREAD_STATE *Thread;
ACPI_THREAD_STATE *PrevWalkList = AcpiGbl_CurrentWalkList;
ACPI_WALK_STATE *PreviousWalkState;
@ -1309,11 +1298,10 @@ AcpiPsParseAml (
*/
if ((WalkState->ParseFlags & ACPI_PARSE_MODE_MASK) == ACPI_PARSE_EXECUTE)
{
Status = AcpiDsTerminateControlMethod (WalkState);
if (ACPI_FAILURE (Status))
TerminateStatus = AcpiDsTerminateControlMethod (WalkState);
if (ACPI_FAILURE (TerminateStatus))
{
ACPI_REPORT_ERROR (("Could not terminate control method properly\n"));
Status = AE_OK;
/* Ignore error and continue */
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: pstree - Parser op tree manipulation/traversal/search
* $Revision: 39 $
* $Revision: 40 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsdump - Functions to display the resource structures.
* $Revision: 32 $
* $Revision: 33 $
*
******************************************************************************/
@ -124,7 +124,7 @@
ACPI_MODULE_NAME ("rsdump")
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*******************************************************************************
*

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbconvrt - ACPI Table conversion utilities
* $Revision: 42 $
* $Revision: 43 $
*
*****************************************************************************/
@ -242,7 +242,6 @@ AcpiTbConvertToXsdt (
}
/*******************************************************************************
*
* FUNCTION: AcpiTbConvertFadt1

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbget - ACPI Table get* routines
* $Revision: 78 $
* $Revision: 79 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbgetall - Get all required ACPI tables
* $Revision: 1 $
* $Revision: 2 $
*
*****************************************************************************/
@ -124,7 +124,6 @@
ACPI_MODULE_NAME ("tbgetall")
/*******************************************************************************
*
* FUNCTION: AcpiTbGetPrimaryTable

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbinstal - ACPI table installation and removal
* $Revision: 62 $
* $Revision: 63 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbrsdt - ACPI RSDT table utilities
* $Revision: 2 $
* $Revision: 3 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbutils - Table manipulation utilities
* $Revision: 55 $
* $Revision: 56 $
*
*****************************************************************************/
@ -233,7 +233,7 @@ AcpiTbValidateTableHeader (
TableHeader, (char *) &Signature));
ACPI_REPORT_WARNING (("Invalid table header length (0x%X) found\n",
TableHeader->Length));
(UINT32) TableHeader->Length));
ACPI_DUMP_BUFFER (TableHeader, sizeof (ACPI_TABLE_HEADER));
return (AE_BAD_HEADER);
}
@ -275,7 +275,7 @@ AcpiTbVerifyTableChecksum (
if (Checksum)
{
ACPI_REPORT_WARNING (("Invalid checksum (%X) in table %4.4s\n",
Checksum, TableHeader->Signature));
(UINT32) Checksum, TableHeader->Signature));
Status = AE_BAD_CHECKSUM;
}

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utdebug - Debug print routines
* $Revision: 103 $
* $Revision: 104 $
*
*****************************************************************************/
@ -122,7 +122,7 @@
ACPI_MODULE_NAME ("utdebug")
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
static UINT32 AcpiGbl_PrevThreadId = 0xFFFFFFFF;
static char *AcpiGbl_FnEntryStr = "----Entry";

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: uteval - Object evaluation
* $Revision: 40 $
* $Revision: 41 $
*
*****************************************************************************/

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utglobal - Global variables for the ACPI subsystem
* $Revision: 165 $
* $Revision: 168 $
*
*****************************************************************************/
@ -125,7 +125,6 @@
ACPI_MODULE_NAME ("utglobal")
/******************************************************************************
*
* FUNCTION: AcpiFormatException
@ -225,7 +224,7 @@ AcpiFormatException (
/* Debug switch - level and trace mask */
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
UINT32 AcpiDbgLevel = DEBUG_DEFAULT;
#else
UINT32 AcpiDbgLevel = NORMAL_DEFAULT;
@ -285,6 +284,10 @@ const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames[] =
{"_REV", ACPI_TYPE_INTEGER, "2"},
{"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},
{"_GL_", ACPI_TYPE_MUTEX, "0"},
#if defined (ACPI_NO_METHOD_EXECUTION) || defined (ACPI_CONSTANT_EVAL_ONLY)
{"_OSI", ACPI_TYPE_METHOD, "1"},
#endif
{NULL, ACPI_TYPE_ANY, NULL} /* Table terminator */
};
@ -622,7 +625,7 @@ AcpiUtGetObjectTypeName (
}
#if defined(ACPI_DEBUG) || defined(ENABLE_DEBUGGER)
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
/*
* Strings and procedures used for debug only
@ -873,7 +876,7 @@ AcpiUtInitGlobals (
AcpiGbl_RootNodeStruct.Flags = ANOBJ_END_OF_PEER_LIST;
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
AcpiGbl_LowestStackPointer = ACPI_SIZE_MAX;
#endif

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utinit - Common ACPI subsystem initialization
* $Revision: 112 $
* $Revision: 113 $
*
*****************************************************************************/
@ -301,14 +301,14 @@ AcpiUtSubsystemShutdown (void)
AcpiGbl_Shutdown = TRUE;
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Shutting down ACPI Subsystem...\n"));
/* Close the Namespace */
AcpiNsTerminate ();
/* Close the AcpiEvent Handling */
AcpiEvTerminate ();
/* Close the Namespace */
AcpiNsTerminate ();
/* Close the globals */
AcpiUtTerminate ();

View File

@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: utmisc - common utility procedures
* $Revision: 78 $
* $Revision: 80 $
*
******************************************************************************/
@ -201,8 +201,7 @@ AcpiUtSetIntegerWidth (
}
#ifdef ACPI_DEBUG
#ifdef ACPI_DEBUG_OUTPUT
/*******************************************************************************
*
* FUNCTION: AcpiUtDisplayInitPathname

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utxface - External interfaces for "global" ACPI functions
* $Revision: 97 $
* $Revision: 100 $
*
*****************************************************************************/
@ -260,6 +260,8 @@ AcpiEnableSubsystem (
{
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "[Init] Going into ACPI mode\n"));
AcpiGbl_OriginalMode = AcpiHwGetMode();
Status = AcpiEnable ();
if (ACPI_FAILURE (Status))
{
@ -401,7 +403,7 @@ AcpiTerminate (void)
AcpiUtMutexTerminate ();
#ifdef ENABLE_DEBUGGER
#ifdef ACPI_DEBUGGER
/* Shut down the debugger */