diff --git a/source/compiler/aslcompiler.h b/source/compiler/aslcompiler.h index c7120a497..9506a24da 100644 --- a/source/compiler/aslcompiler.h +++ b/source/compiler/aslcompiler.h @@ -2,7 +2,7 @@ /****************************************************************************** * * Module Name: aslcompiler.h - common include file - * $Revision: 1.96 $ + * $Revision: 1.99 $ * *****************************************************************************/ @@ -164,8 +164,8 @@ getopt ( * Compiler versions and names */ -#define CompilerVersion "X2041" -#define CompilerCreatorRevision 0x02002041 /* Acpi 2.0, Version # */ +#define CompilerVersion "X2042" +#define CompilerCreatorRevision 0x02002042 /* Acpi 2.0, Version # */ #define CompilerId "Intel ACPI Component Architecture ASL Compiler" #define CompilerCopyright "Copyright (C) 2000 - 2002 Intel Corporation" @@ -184,12 +184,11 @@ getopt ( * Macros */ -#define ASL_OFFSET_OF(s,m) ((UINT32) &(((s *)0)->m)) -#define ASL_RESDESC_OFFSET(m) ASL_OFFSET_OF (ASL_RESOURCE_DESC, m) +#define ASL_RESDESC_OFFSET(m) ACPI_OFFSET (ASL_RESOURCE_DESC, m) #define ASL_PTR_DIFF(a,b) ((UINT8 *)(b) - (UINT8 *)(a)) #define ASL_PTR_ADD(a,b) ((UINT8 *)(a) = ((UINT8 *)(a) + (b))) -#define ASL_GET_CHILD_NODE(a) (a)->Child -#define ASL_GET_PEER_NODE(a) (a)->Peer +#define ASL_GET_CHILD_NODE(a) (a)->Asl.Child +#define ASL_GET_PEER_NODE(a) (a)->Asl.Next #define OP_TABLE_ENTRY(a,b,c,d) {b,d,a,c} @@ -242,7 +241,7 @@ int AslCompilerparse( void); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * AslDoError ( void); @@ -254,13 +253,19 @@ int AslCompilerlex( void); -char -*AslCompilertext; - void ResetCurrentLineBuffer ( void); +int +AslPopInputFileStack ( + void); + +void +AslPushInputFileStack ( + FILE *InputFile, + char *Filename); + /* aslmain */ void @@ -275,23 +280,12 @@ void AslDoSourceOutputFile ( char *Buffer); -int -AslPopInputFileStack (void); - -void -AslPushInputFileStack ( - FILE *InputFile, - char *Filename); - -int -AslCompilererror(char *s); - #define ASL_DEBUG_OUTPUT 0 #define ASL_PARSE_OUTPUT 1 #define ASL_TREE_OUTPUT 2 -int +void DbgPrint ( UINT32 Type, char *Format, @@ -315,10 +309,10 @@ void AslError ( UINT8 Level, UINT8 MessageId, - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, char *ExtraMessage); -ASL_ERROR_MSG * +void AslCommonError ( UINT8 Level, UINT8 MessageId, @@ -338,27 +332,32 @@ void AePrintErrorLog ( UINT32 FileId); +ACPI_STATUS +AeLocalGetRootPointer ( + UINT32 Flags, + ACPI_PHYSICAL_ADDRESS *RsdpPhysicalAddress); + /* asllisting */ void LsWriteListingHexBytes ( - char *Buffer, + UINT8 *Buffer, UINT32 Length, UINT32 FileId); void LsWriteNodeToListing ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 FileId); void LsWriteNodeToAsmListing ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void LsWriteNode ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 FileId); void @@ -370,40 +369,43 @@ LsFlushListingBuffer ( UINT32 FileId); void -LsDoHexOutput (void); +LsDoHexOutput ( + void); void -LsDoHexOutputC (void); +LsDoHexOutputC ( + void); void -LsDoHexOutputAsm (void); +LsDoHexOutputAsm ( + void); void LsPushNode ( char *Filename); ASL_LISTING_NODE * -LsPopNode (void); +LsPopNode ( + void); /* * aslopcodes - generate AML opcodes */ - ACPI_STATUS OpcAmlOpcodeWalk ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); void OpcGenerateAmlOpcode ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); UINT32 OpcSetOptimalIntegerSize ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); /* @@ -412,7 +414,49 @@ OpcSetOptimalIntegerSize ( void OpnGenerateAmlOperands ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); + +void +OpnDoField ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoBankField ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoBuffer ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoDefinitionBlock ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoFieldCommon ( + ACPI_PARSE_OBJECT *FieldOp, + ACPI_PARSE_OBJECT *Op); + +void +OpnDoIndexField ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoLoadTable ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoMethod ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoPackage ( + ACPI_PARSE_OBJECT *Op); + +void +OpnDoRegion ( + ACPI_PARSE_OBJECT *Op); + /* @@ -421,7 +465,7 @@ OpnGenerateAmlOperands ( void RsDoResourceTemplate ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void @@ -436,7 +480,7 @@ LsDoListings (void); void CgGenerateAmlLengths ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); ACPI_STATUS CgOpenOutputFile ( @@ -447,20 +491,20 @@ CgOpenOutputFile ( ACPI_STATUS LnPackageLengthWalk ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS LnInitLengthsWalk ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS CgAmlWriteWalk ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); @@ -474,7 +518,7 @@ CgCloseTable (void); void CgWriteNode ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); /* * aslmap @@ -490,26 +534,26 @@ AslMapNamedOpcodeToDataType ( ACPI_STATUS TrAmlTransformWalk ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); void TrTransformSubtree ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void TrDoSwitch ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void TrDoDefinitionBlock ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void TrDoElseif ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); /* @@ -518,7 +562,7 @@ TrDoElseif ( void TrWalkParseTree ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Visitation, ASL_WALK_CALLBACK DescendingCallback, ASL_WALK_CALLBACK AscendingCallback, @@ -535,110 +579,110 @@ char * TrAddNode ( void *Thing); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrUpdateNode ( UINT32 ParseOpcode, - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrCreateNode ( UINT32 ParseOpcode, UINT32 NumChildren, ...); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrCreateLeafNode ( UINT32 ParseOpcode); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrCreateValuedLeafNode ( UINT32 ParseOpcode, ACPI_INTEGER Value); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrLinkChildren ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 NumChildren, ...); void TrSetEndLineNumber ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); void TrWalkTree (void); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrLinkPeerNode ( - ASL_PARSE_NODE *Node1, - ASL_PARSE_NODE *Node2); + ACPI_PARSE_OBJECT *Op1, + ACPI_PARSE_OBJECT *Op2); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrLinkChildNode ( - ASL_PARSE_NODE *Node1, - ASL_PARSE_NODE *Node2); + ACPI_PARSE_OBJECT *Op1, + ACPI_PARSE_OBJECT *Op2); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrSetNodeFlags ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Flags); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * TrLinkPeerNodes ( UINT32 NumPeers, ...); void TrReleaseNode ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); /* Analyze */ ACPI_STATUS AnOtherSemanticAnalysisWalkBegin ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnOtherSemanticAnalysisWalkEnd ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnOperandTypecheckWalkBegin ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnOperandTypecheckWalkEnd ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnMethodAnalysisWalkBegin ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnMethodAnalysisWalkEnd ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnMethodTypingWalkBegin ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS AnMethodTypingWalkEnd ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); @@ -647,7 +691,24 @@ AnMethodTypingWalkEnd ( * aslfiles - File I/O support */ +void +AslAbort (void); + FILE * +FlOpenLocalFile ( + char *LocalName, + char *Mode); + +void +FlOpenIncludeFile ( + ACPI_PARSE_OBJECT *Op); + +void +FlFileError ( + UINT32 FileId, + UINT8 ErrorId); + +void FlOpenFile ( UINT32 FileId, char *Filename, @@ -659,18 +720,18 @@ FlReadFile ( void *Buffer, UINT32 Length); -ACPI_STATUS +void FlWriteFile ( UINT32 FileId, void *Buffer, UINT32 Length); -ACPI_STATUS +void FlSeekFile ( UINT32 FileId, long Offset); -ACPI_STATUS +void FlCloseFile ( UINT32 FileId); @@ -682,11 +743,7 @@ FlPrintFile ( void FlSetLineNumber ( - ASL_PARSE_NODE *Node); - -void -FlOpenIncludeFile ( - ASL_PARSE_NODE *Node); + ACPI_PARSE_OBJECT *Op); ACPI_STATUS FlOpenInputFile ( @@ -709,13 +766,13 @@ LdLoadNamespace (void); ACPI_STATUS LdNamespace1Begin ( - ASL_PARSE_NODE *PsNode, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS LdNamespace1End ( - ASL_PARSE_NODE *PsNode, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); @@ -727,18 +784,26 @@ LkCrossReferenceNamespace (void); ACPI_STATUS LkNamespaceLocateBegin ( - ASL_PARSE_NODE *PsNode, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS LkNamespaceLocateEnd ( - ASL_PARSE_NODE *PsNode, + ACPI_PARSE_OBJECT *Op, UINT32 Level, void *Context); ACPI_STATUS -LsDisplayNamespace (void); +LsDisplayNamespace ( + void); + +ACPI_STATUS +LsCompareOneNamespaceObject ( + ACPI_HANDLE ObjHandle, + UINT32 Level, + void *Context, + void **ReturnValue); /* Utils */ @@ -783,9 +848,9 @@ char * UtGetOpName ( UINT32 ParseOpcode); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * UtGetArg ( - ASL_PARSE_NODE *Op, + ACPI_PARSE_OBJECT *Op, UINT32 Argn); NATIVE_CHAR * @@ -799,12 +864,12 @@ UtInternalizeName ( void UtAttachNamepathToOwner ( - ASL_PARSE_NODE *Node, - ASL_PARSE_NODE *NameNode); + ACPI_PARSE_OBJECT *Op, + ACPI_PARSE_OBJECT *NameNode); -ASL_PARSE_NODE * +ACPI_PARSE_OBJECT * UtCheckIntegerRange ( - ASL_PARSE_NODE *Node, + ACPI_PARSE_OBJECT *Op, UINT32 LowValue, UINT32 HighValue); @@ -823,7 +888,7 @@ UtDoConstant ( void LnAdjustLengthToRoot ( - ASL_PARSE_NODE *PsNode, + ACPI_PARSE_OBJECT *Op, UINT32 LengthDelta);