17c478bd9Sstevel@tonic-gate /****************************************************************************** 27c478bd9Sstevel@tonic-gate * 37c478bd9Sstevel@tonic-gate * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures 47c478bd9Sstevel@tonic-gate * 57c478bd9Sstevel@tonic-gate *****************************************************************************/ 67c478bd9Sstevel@tonic-gate 7*26f3cdf0SGordon Ross /* 8*26f3cdf0SGordon Ross * Copyright (C) 2000 - 2011, Intel Corp. 97c478bd9Sstevel@tonic-gate * All rights reserved. 107c478bd9Sstevel@tonic-gate * 11*26f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 12*26f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 13*26f3cdf0SGordon Ross * are met: 14*26f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 15*26f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 16*26f3cdf0SGordon Ross * without modification. 17*26f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*26f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 19*26f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 20*26f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 21*26f3cdf0SGordon Ross * binary redistribution. 22*26f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 23*26f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 24*26f3cdf0SGordon Ross * from this software without specific prior written permission. 257c478bd9Sstevel@tonic-gate * 26*26f3cdf0SGordon Ross * Alternatively, this software may be distributed under the terms of the 27*26f3cdf0SGordon Ross * GNU General Public License ("GPL") version 2 as published by the Free 28*26f3cdf0SGordon Ross * Software Foundation. 297c478bd9Sstevel@tonic-gate * 30*26f3cdf0SGordon Ross * NO WARRANTY 31*26f3cdf0SGordon Ross * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*26f3cdf0SGordon Ross * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*26f3cdf0SGordon Ross * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*26f3cdf0SGordon Ross * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*26f3cdf0SGordon Ross * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*26f3cdf0SGordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*26f3cdf0SGordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*26f3cdf0SGordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*26f3cdf0SGordon Ross * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*26f3cdf0SGordon Ross * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*26f3cdf0SGordon Ross * POSSIBILITY OF SUCH DAMAGES. 42*26f3cdf0SGordon Ross */ 437c478bd9Sstevel@tonic-gate 447c478bd9Sstevel@tonic-gate #ifndef _ACUTILS_H 457c478bd9Sstevel@tonic-gate #define _ACUTILS_H 467c478bd9Sstevel@tonic-gate 477c478bd9Sstevel@tonic-gate 4830082d0cSmyers extern const UINT8 AcpiGbl_ResourceAmlSizes[]; 4930082d0cSmyers 5030082d0cSmyers /* Strings used by the disassembler and debugger resource dump routines */ 5130082d0cSmyers 5230082d0cSmyers #if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) 5330082d0cSmyers 5427f7c583Smyers extern const char *AcpiGbl_BmDecode[]; 5527f7c583Smyers extern const char *AcpiGbl_ConfigDecode[]; 5627f7c583Smyers extern const char *AcpiGbl_ConsumeDecode[]; 5727f7c583Smyers extern const char *AcpiGbl_DecDecode[]; 5827f7c583Smyers extern const char *AcpiGbl_HeDecode[]; 5927f7c583Smyers extern const char *AcpiGbl_IoDecode[]; 6027f7c583Smyers extern const char *AcpiGbl_LlDecode[]; 6127f7c583Smyers extern const char *AcpiGbl_MaxDecode[]; 6227f7c583Smyers extern const char *AcpiGbl_MemDecode[]; 6327f7c583Smyers extern const char *AcpiGbl_MinDecode[]; 6427f7c583Smyers extern const char *AcpiGbl_MtpDecode[]; 6527f7c583Smyers extern const char *AcpiGbl_RngDecode[]; 6627f7c583Smyers extern const char *AcpiGbl_RwDecode[]; 6727f7c583Smyers extern const char *AcpiGbl_ShrDecode[]; 6827f7c583Smyers extern const char *AcpiGbl_SizDecode[]; 6927f7c583Smyers extern const char *AcpiGbl_TrsDecode[]; 7027f7c583Smyers extern const char *AcpiGbl_TtpDecode[]; 7127f7c583Smyers extern const char *AcpiGbl_TypDecode[]; 7230082d0cSmyers #endif 7330082d0cSmyers 7430082d0cSmyers /* Types for Resource descriptor entries */ 7530082d0cSmyers 7630082d0cSmyers #define ACPI_INVALID_RESOURCE 0 7730082d0cSmyers #define ACPI_FIXED_LENGTH 1 7830082d0cSmyers #define ACPI_VARIABLE_LENGTH 2 7930082d0cSmyers #define ACPI_SMALL_VARIABLE_LENGTH 3 8030082d0cSmyers 8127f7c583Smyers typedef 8227f7c583Smyers ACPI_STATUS (*ACPI_WALK_AML_CALLBACK) ( 8327f7c583Smyers UINT8 *Aml, 8427f7c583Smyers UINT32 Length, 8527f7c583Smyers UINT32 Offset, 8627f7c583Smyers UINT8 ResourceIndex, 8727f7c583Smyers void *Context); 8827f7c583Smyers 897c478bd9Sstevel@tonic-gate typedef 907c478bd9Sstevel@tonic-gate ACPI_STATUS (*ACPI_PKG_CALLBACK) ( 917c478bd9Sstevel@tonic-gate UINT8 ObjectType, 927c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *SourceObject, 937c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *State, 947c478bd9Sstevel@tonic-gate void *Context); 957c478bd9Sstevel@tonic-gate 967c478bd9Sstevel@tonic-gate typedef struct acpi_pkg_info 977c478bd9Sstevel@tonic-gate { 987c478bd9Sstevel@tonic-gate UINT8 *FreeSpace; 997c478bd9Sstevel@tonic-gate ACPI_SIZE Length; 1007c478bd9Sstevel@tonic-gate UINT32 ObjectSpace; 1017c478bd9Sstevel@tonic-gate UINT32 NumPackages; 1027c478bd9Sstevel@tonic-gate 1037c478bd9Sstevel@tonic-gate } ACPI_PKG_INFO; 1047c478bd9Sstevel@tonic-gate 1057c478bd9Sstevel@tonic-gate #define REF_INCREMENT (UINT16) 0 1067c478bd9Sstevel@tonic-gate #define REF_DECREMENT (UINT16) 1 1077c478bd9Sstevel@tonic-gate #define REF_FORCE_DELETE (UINT16) 2 1087c478bd9Sstevel@tonic-gate 1097c478bd9Sstevel@tonic-gate /* AcpiUtDumpBuffer */ 1107c478bd9Sstevel@tonic-gate 1117c478bd9Sstevel@tonic-gate #define DB_BYTE_DISPLAY 1 1127c478bd9Sstevel@tonic-gate #define DB_WORD_DISPLAY 2 1137c478bd9Sstevel@tonic-gate #define DB_DWORD_DISPLAY 4 1147c478bd9Sstevel@tonic-gate #define DB_QWORD_DISPLAY 8 1157c478bd9Sstevel@tonic-gate 1167c478bd9Sstevel@tonic-gate 1177c478bd9Sstevel@tonic-gate /* 1187c478bd9Sstevel@tonic-gate * utglobal - Global data structures and procedures 1197c478bd9Sstevel@tonic-gate */ 120db2bae30SDana Myers ACPI_STATUS 1217c478bd9Sstevel@tonic-gate AcpiUtInitGlobals ( 1227c478bd9Sstevel@tonic-gate void); 1237c478bd9Sstevel@tonic-gate 1247c478bd9Sstevel@tonic-gate #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 1257c478bd9Sstevel@tonic-gate 1267c478bd9Sstevel@tonic-gate char * 1277c478bd9Sstevel@tonic-gate AcpiUtGetMutexName ( 1287c478bd9Sstevel@tonic-gate UINT32 MutexId); 1297c478bd9Sstevel@tonic-gate 130db2bae30SDana Myers const char * 131db2bae30SDana Myers AcpiUtGetNotifyName ( 132db2bae30SDana Myers UINT32 NotifyValue); 133db2bae30SDana Myers 1347c478bd9Sstevel@tonic-gate #endif 1357c478bd9Sstevel@tonic-gate 1367c478bd9Sstevel@tonic-gate char * 1377c478bd9Sstevel@tonic-gate AcpiUtGetTypeName ( 1387c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type); 1397c478bd9Sstevel@tonic-gate 1407c478bd9Sstevel@tonic-gate char * 1417c478bd9Sstevel@tonic-gate AcpiUtGetNodeName ( 1427c478bd9Sstevel@tonic-gate void *Object); 1437c478bd9Sstevel@tonic-gate 1447c478bd9Sstevel@tonic-gate char * 1457c478bd9Sstevel@tonic-gate AcpiUtGetDescriptorName ( 1467c478bd9Sstevel@tonic-gate void *Object); 1477c478bd9Sstevel@tonic-gate 148db2bae30SDana Myers const char * 149db2bae30SDana Myers AcpiUtGetReferenceName ( 150db2bae30SDana Myers ACPI_OPERAND_OBJECT *Object); 151db2bae30SDana Myers 1527c478bd9Sstevel@tonic-gate char * 1537c478bd9Sstevel@tonic-gate AcpiUtGetObjectTypeName ( 1547c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *ObjDesc); 1557c478bd9Sstevel@tonic-gate 1567c478bd9Sstevel@tonic-gate char * 1577c478bd9Sstevel@tonic-gate AcpiUtGetRegionName ( 1587c478bd9Sstevel@tonic-gate UINT8 SpaceId); 1597c478bd9Sstevel@tonic-gate 1607c478bd9Sstevel@tonic-gate char * 1617c478bd9Sstevel@tonic-gate AcpiUtGetEventName ( 1627c478bd9Sstevel@tonic-gate UINT32 EventId); 1637c478bd9Sstevel@tonic-gate 1647c478bd9Sstevel@tonic-gate char 1657c478bd9Sstevel@tonic-gate AcpiUtHexToAsciiChar ( 166*26f3cdf0SGordon Ross UINT64 Integer, 1677c478bd9Sstevel@tonic-gate UINT32 Position); 1687c478bd9Sstevel@tonic-gate 1697c478bd9Sstevel@tonic-gate BOOLEAN 1707c478bd9Sstevel@tonic-gate AcpiUtValidObjectType ( 1717c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type); 1727c478bd9Sstevel@tonic-gate 1737c478bd9Sstevel@tonic-gate 1747c478bd9Sstevel@tonic-gate /* 1757c478bd9Sstevel@tonic-gate * utinit - miscellaneous initialization and shutdown 1767c478bd9Sstevel@tonic-gate */ 1777c478bd9Sstevel@tonic-gate ACPI_STATUS 1787c478bd9Sstevel@tonic-gate AcpiUtHardwareInitialize ( 1797c478bd9Sstevel@tonic-gate void); 1807c478bd9Sstevel@tonic-gate 1817c478bd9Sstevel@tonic-gate void 1827c478bd9Sstevel@tonic-gate AcpiUtSubsystemShutdown ( 1837c478bd9Sstevel@tonic-gate void); 1847c478bd9Sstevel@tonic-gate 1857c478bd9Sstevel@tonic-gate 1867c478bd9Sstevel@tonic-gate /* 1877c478bd9Sstevel@tonic-gate * utclib - Local implementations of C library functions 1887c478bd9Sstevel@tonic-gate */ 1897c478bd9Sstevel@tonic-gate #ifndef ACPI_USE_SYSTEM_CLIBRARY 1907c478bd9Sstevel@tonic-gate 1917c478bd9Sstevel@tonic-gate ACPI_SIZE 1927c478bd9Sstevel@tonic-gate AcpiUtStrlen ( 1937c478bd9Sstevel@tonic-gate const char *String); 1947c478bd9Sstevel@tonic-gate 1957c478bd9Sstevel@tonic-gate char * 1967c478bd9Sstevel@tonic-gate AcpiUtStrcpy ( 1977c478bd9Sstevel@tonic-gate char *DstString, 1987c478bd9Sstevel@tonic-gate const char *SrcString); 1997c478bd9Sstevel@tonic-gate 2007c478bd9Sstevel@tonic-gate char * 2017c478bd9Sstevel@tonic-gate AcpiUtStrncpy ( 2027c478bd9Sstevel@tonic-gate char *DstString, 2037c478bd9Sstevel@tonic-gate const char *SrcString, 2047c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2057c478bd9Sstevel@tonic-gate 2067c478bd9Sstevel@tonic-gate int 2077c478bd9Sstevel@tonic-gate AcpiUtMemcmp ( 2087c478bd9Sstevel@tonic-gate const char *Buffer1, 2097c478bd9Sstevel@tonic-gate const char *Buffer2, 2107c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2117c478bd9Sstevel@tonic-gate 2127c478bd9Sstevel@tonic-gate int 2137c478bd9Sstevel@tonic-gate AcpiUtStrncmp ( 2147c478bd9Sstevel@tonic-gate const char *String1, 2157c478bd9Sstevel@tonic-gate const char *String2, 2167c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2177c478bd9Sstevel@tonic-gate 2187c478bd9Sstevel@tonic-gate int 2197c478bd9Sstevel@tonic-gate AcpiUtStrcmp ( 2207c478bd9Sstevel@tonic-gate const char *String1, 2217c478bd9Sstevel@tonic-gate const char *String2); 2227c478bd9Sstevel@tonic-gate 2237c478bd9Sstevel@tonic-gate char * 2247c478bd9Sstevel@tonic-gate AcpiUtStrcat ( 2257c478bd9Sstevel@tonic-gate char *DstString, 2267c478bd9Sstevel@tonic-gate const char *SrcString); 2277c478bd9Sstevel@tonic-gate 2287c478bd9Sstevel@tonic-gate char * 2297c478bd9Sstevel@tonic-gate AcpiUtStrncat ( 2307c478bd9Sstevel@tonic-gate char *DstString, 2317c478bd9Sstevel@tonic-gate const char *SrcString, 2327c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2337c478bd9Sstevel@tonic-gate 2347c478bd9Sstevel@tonic-gate UINT32 2357c478bd9Sstevel@tonic-gate AcpiUtStrtoul ( 2367c478bd9Sstevel@tonic-gate const char *String, 2377c478bd9Sstevel@tonic-gate char **Terminator, 2387c478bd9Sstevel@tonic-gate UINT32 Base); 2397c478bd9Sstevel@tonic-gate 2407c478bd9Sstevel@tonic-gate char * 2417c478bd9Sstevel@tonic-gate AcpiUtStrstr ( 2427c478bd9Sstevel@tonic-gate char *String1, 2437c478bd9Sstevel@tonic-gate char *String2); 2447c478bd9Sstevel@tonic-gate 2457c478bd9Sstevel@tonic-gate void * 2467c478bd9Sstevel@tonic-gate AcpiUtMemcpy ( 2477c478bd9Sstevel@tonic-gate void *Dest, 2487c478bd9Sstevel@tonic-gate const void *Src, 2497c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2507c478bd9Sstevel@tonic-gate 2517c478bd9Sstevel@tonic-gate void * 2527c478bd9Sstevel@tonic-gate AcpiUtMemset ( 2537c478bd9Sstevel@tonic-gate void *Dest, 254db2bae30SDana Myers UINT8 Value, 2557c478bd9Sstevel@tonic-gate ACPI_SIZE Count); 2567c478bd9Sstevel@tonic-gate 2577c478bd9Sstevel@tonic-gate int 2587c478bd9Sstevel@tonic-gate AcpiUtToUpper ( 2597c478bd9Sstevel@tonic-gate int c); 2607c478bd9Sstevel@tonic-gate 2617c478bd9Sstevel@tonic-gate int 2627c478bd9Sstevel@tonic-gate AcpiUtToLower ( 2637c478bd9Sstevel@tonic-gate int c); 2647c478bd9Sstevel@tonic-gate 2657c478bd9Sstevel@tonic-gate extern const UINT8 _acpi_ctype[]; 2667c478bd9Sstevel@tonic-gate 2677c478bd9Sstevel@tonic-gate #define _ACPI_XA 0x00 /* extra alphabetic - not supported */ 2687c478bd9Sstevel@tonic-gate #define _ACPI_XS 0x40 /* extra space */ 2697c478bd9Sstevel@tonic-gate #define _ACPI_BB 0x00 /* BEL, BS, etc. - not supported */ 2707c478bd9Sstevel@tonic-gate #define _ACPI_CN 0x20 /* CR, FF, HT, NL, VT */ 2717c478bd9Sstevel@tonic-gate #define _ACPI_DI 0x04 /* '0'-'9' */ 2727c478bd9Sstevel@tonic-gate #define _ACPI_LO 0x02 /* 'a'-'z' */ 2737c478bd9Sstevel@tonic-gate #define _ACPI_PU 0x10 /* punctuation */ 2747c478bd9Sstevel@tonic-gate #define _ACPI_SP 0x08 /* space */ 2757c478bd9Sstevel@tonic-gate #define _ACPI_UP 0x01 /* 'A'-'Z' */ 2767c478bd9Sstevel@tonic-gate #define _ACPI_XD 0x80 /* '0'-'9', 'A'-'F', 'a'-'f' */ 2777c478bd9Sstevel@tonic-gate 2787c478bd9Sstevel@tonic-gate #define ACPI_IS_DIGIT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_DI)) 2797c478bd9Sstevel@tonic-gate #define ACPI_IS_SPACE(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_SP)) 2807c478bd9Sstevel@tonic-gate #define ACPI_IS_XDIGIT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_XD)) 2817c478bd9Sstevel@tonic-gate #define ACPI_IS_UPPER(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_UP)) 2827c478bd9Sstevel@tonic-gate #define ACPI_IS_LOWER(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO)) 2837c478bd9Sstevel@tonic-gate #define ACPI_IS_PRINT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP | _ACPI_DI | _ACPI_SP | _ACPI_PU)) 2847c478bd9Sstevel@tonic-gate #define ACPI_IS_ALPHA(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP)) 2857c478bd9Sstevel@tonic-gate 286aa2aa9a6SDana Myers #endif /* !ACPI_USE_SYSTEM_CLIBRARY */ 287aa2aa9a6SDana Myers 288aa2aa9a6SDana Myers #define ACPI_IS_ASCII(c) ((c) < 0x80) 2897c478bd9Sstevel@tonic-gate 2907c478bd9Sstevel@tonic-gate 2917c478bd9Sstevel@tonic-gate /* 2927c478bd9Sstevel@tonic-gate * utcopy - Object construction and conversion interfaces 2937c478bd9Sstevel@tonic-gate */ 2947c478bd9Sstevel@tonic-gate ACPI_STATUS 2957c478bd9Sstevel@tonic-gate AcpiUtBuildSimpleObject( 2967c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Obj, 2977c478bd9Sstevel@tonic-gate ACPI_OBJECT *UserObj, 2987c478bd9Sstevel@tonic-gate UINT8 *DataSpace, 2997c478bd9Sstevel@tonic-gate UINT32 *BufferSpaceUsed); 3007c478bd9Sstevel@tonic-gate 3017c478bd9Sstevel@tonic-gate ACPI_STATUS 3027c478bd9Sstevel@tonic-gate AcpiUtBuildPackageObject ( 3037c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Obj, 3047c478bd9Sstevel@tonic-gate UINT8 *Buffer, 3057c478bd9Sstevel@tonic-gate UINT32 *SpaceUsed); 3067c478bd9Sstevel@tonic-gate 3077c478bd9Sstevel@tonic-gate ACPI_STATUS 3087c478bd9Sstevel@tonic-gate AcpiUtCopyIobjectToEobject ( 3097c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Obj, 3107c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3117c478bd9Sstevel@tonic-gate 3127c478bd9Sstevel@tonic-gate ACPI_STATUS 3137c478bd9Sstevel@tonic-gate AcpiUtCopyEobjectToIobject ( 3147c478bd9Sstevel@tonic-gate ACPI_OBJECT *Obj, 3157c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **InternalObj); 3167c478bd9Sstevel@tonic-gate 3177c478bd9Sstevel@tonic-gate ACPI_STATUS 3187c478bd9Sstevel@tonic-gate AcpiUtCopyISimpleToIsimple ( 3197c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *SourceObj, 3207c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *DestObj); 3217c478bd9Sstevel@tonic-gate 3227c478bd9Sstevel@tonic-gate ACPI_STATUS 3237c478bd9Sstevel@tonic-gate AcpiUtCopyIobjectToIobject ( 3247c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *SourceDesc, 3257c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **DestDesc, 3267c478bd9Sstevel@tonic-gate ACPI_WALK_STATE *WalkState); 3277c478bd9Sstevel@tonic-gate 3287c478bd9Sstevel@tonic-gate 3297c478bd9Sstevel@tonic-gate /* 3307c478bd9Sstevel@tonic-gate * utcreate - Object creation 3317c478bd9Sstevel@tonic-gate */ 3327c478bd9Sstevel@tonic-gate ACPI_STATUS 3337c478bd9Sstevel@tonic-gate AcpiUtUpdateObjectReference ( 3347c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object, 3357c478bd9Sstevel@tonic-gate UINT16 Action); 3367c478bd9Sstevel@tonic-gate 3377c478bd9Sstevel@tonic-gate 3387c478bd9Sstevel@tonic-gate /* 3397c478bd9Sstevel@tonic-gate * utdebug - Debug interfaces 3407c478bd9Sstevel@tonic-gate */ 3417c478bd9Sstevel@tonic-gate void 3427c478bd9Sstevel@tonic-gate AcpiUtInitStackPtrTrace ( 3437c478bd9Sstevel@tonic-gate void); 3447c478bd9Sstevel@tonic-gate 3457c478bd9Sstevel@tonic-gate void 3467c478bd9Sstevel@tonic-gate AcpiUtTrackStackPtr ( 3477c478bd9Sstevel@tonic-gate void); 3487c478bd9Sstevel@tonic-gate 3497c478bd9Sstevel@tonic-gate void 3507c478bd9Sstevel@tonic-gate AcpiUtTrace ( 3517c478bd9Sstevel@tonic-gate UINT32 LineNumber, 352186507a7Smyers const char *FunctionName, 353db2bae30SDana Myers const char *ModuleName, 354450d6964Smyers UINT32 ComponentId); 3557c478bd9Sstevel@tonic-gate 3567c478bd9Sstevel@tonic-gate void 3577c478bd9Sstevel@tonic-gate AcpiUtTracePtr ( 3587c478bd9Sstevel@tonic-gate UINT32 LineNumber, 359186507a7Smyers const char *FunctionName, 360db2bae30SDana Myers const char *ModuleName, 361450d6964Smyers UINT32 ComponentId, 3627c478bd9Sstevel@tonic-gate void *Pointer); 3637c478bd9Sstevel@tonic-gate 3647c478bd9Sstevel@tonic-gate void 3657c478bd9Sstevel@tonic-gate AcpiUtTraceU32 ( 3667c478bd9Sstevel@tonic-gate UINT32 LineNumber, 367186507a7Smyers const char *FunctionName, 368db2bae30SDana Myers const char *ModuleName, 369450d6964Smyers UINT32 ComponentId, 3707c478bd9Sstevel@tonic-gate UINT32 Integer); 3717c478bd9Sstevel@tonic-gate 3727c478bd9Sstevel@tonic-gate void 3737c478bd9Sstevel@tonic-gate AcpiUtTraceStr ( 3747c478bd9Sstevel@tonic-gate UINT32 LineNumber, 375186507a7Smyers const char *FunctionName, 376db2bae30SDana Myers const char *ModuleName, 377450d6964Smyers UINT32 ComponentId, 3787c478bd9Sstevel@tonic-gate char *String); 3797c478bd9Sstevel@tonic-gate 3807c478bd9Sstevel@tonic-gate void 3817c478bd9Sstevel@tonic-gate AcpiUtExit ( 3827c478bd9Sstevel@tonic-gate UINT32 LineNumber, 383186507a7Smyers const char *FunctionName, 384db2bae30SDana Myers const char *ModuleName, 385450d6964Smyers UINT32 ComponentId); 3867c478bd9Sstevel@tonic-gate 3877c478bd9Sstevel@tonic-gate void 3887c478bd9Sstevel@tonic-gate AcpiUtStatusExit ( 3897c478bd9Sstevel@tonic-gate UINT32 LineNumber, 390186507a7Smyers const char *FunctionName, 391db2bae30SDana Myers const char *ModuleName, 392450d6964Smyers UINT32 ComponentId, 3937c478bd9Sstevel@tonic-gate ACPI_STATUS Status); 3947c478bd9Sstevel@tonic-gate 3957c478bd9Sstevel@tonic-gate void 3967c478bd9Sstevel@tonic-gate AcpiUtValueExit ( 3977c478bd9Sstevel@tonic-gate UINT32 LineNumber, 398186507a7Smyers const char *FunctionName, 399db2bae30SDana Myers const char *ModuleName, 400450d6964Smyers UINT32 ComponentId, 401*26f3cdf0SGordon Ross UINT64 Value); 4027c478bd9Sstevel@tonic-gate 4037c478bd9Sstevel@tonic-gate void 4047c478bd9Sstevel@tonic-gate AcpiUtPtrExit ( 4057c478bd9Sstevel@tonic-gate UINT32 LineNumber, 406186507a7Smyers const char *FunctionName, 407db2bae30SDana Myers const char *ModuleName, 408450d6964Smyers UINT32 ComponentId, 4097c478bd9Sstevel@tonic-gate UINT8 *Ptr); 4107c478bd9Sstevel@tonic-gate 4117c478bd9Sstevel@tonic-gate void 41230082d0cSmyers AcpiUtDumpBuffer ( 41330082d0cSmyers UINT8 *Buffer, 41430082d0cSmyers UINT32 Count, 41530082d0cSmyers UINT32 Display, 41630082d0cSmyers UINT32 componentId); 4177c478bd9Sstevel@tonic-gate 41827f7c583Smyers void 41927f7c583Smyers AcpiUtDumpBuffer2 ( 42027f7c583Smyers UINT8 *Buffer, 42127f7c583Smyers UINT32 Count, 42227f7c583Smyers UINT32 Display); 42327f7c583Smyers 4247c478bd9Sstevel@tonic-gate void 4257c478bd9Sstevel@tonic-gate AcpiUtReportError ( 4267c478bd9Sstevel@tonic-gate char *ModuleName, 42730082d0cSmyers UINT32 LineNumber); 4287c478bd9Sstevel@tonic-gate 4297c478bd9Sstevel@tonic-gate void 43030082d0cSmyers AcpiUtReportInfo ( 4317c478bd9Sstevel@tonic-gate char *ModuleName, 43230082d0cSmyers UINT32 LineNumber); 4337c478bd9Sstevel@tonic-gate 4347c478bd9Sstevel@tonic-gate void 43530082d0cSmyers AcpiUtReportWarning ( 43630082d0cSmyers char *ModuleName, 43730082d0cSmyers UINT32 LineNumber); 43830082d0cSmyers 4397c478bd9Sstevel@tonic-gate /* 4407c478bd9Sstevel@tonic-gate * utdelete - Object deletion and reference counts 4417c478bd9Sstevel@tonic-gate */ 4427c478bd9Sstevel@tonic-gate void 4437c478bd9Sstevel@tonic-gate AcpiUtAddReference ( 4447c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object); 4457c478bd9Sstevel@tonic-gate 4467c478bd9Sstevel@tonic-gate void 4477c478bd9Sstevel@tonic-gate AcpiUtRemoveReference ( 4487c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object); 4497c478bd9Sstevel@tonic-gate 4507c478bd9Sstevel@tonic-gate void 4517c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalPackageObject ( 4527c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object); 4537c478bd9Sstevel@tonic-gate 4547c478bd9Sstevel@tonic-gate void 4557c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalSimpleObject ( 4567c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object); 4577c478bd9Sstevel@tonic-gate 4587c478bd9Sstevel@tonic-gate void 4597c478bd9Sstevel@tonic-gate AcpiUtDeleteInternalObjectList ( 4607c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **ObjList); 4617c478bd9Sstevel@tonic-gate 4627c478bd9Sstevel@tonic-gate 4637c478bd9Sstevel@tonic-gate /* 4647c478bd9Sstevel@tonic-gate * uteval - object evaluation 4657c478bd9Sstevel@tonic-gate */ 4667c478bd9Sstevel@tonic-gate ACPI_STATUS 4677c478bd9Sstevel@tonic-gate AcpiUtEvaluateObject ( 4687c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *PrefixNode, 4697c478bd9Sstevel@tonic-gate char *Path, 4707c478bd9Sstevel@tonic-gate UINT32 ExpectedReturnBtypes, 4717c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT **ReturnDesc); 4727c478bd9Sstevel@tonic-gate 4737c478bd9Sstevel@tonic-gate ACPI_STATUS 4747c478bd9Sstevel@tonic-gate AcpiUtEvaluateNumericObject ( 4757c478bd9Sstevel@tonic-gate char *ObjectName, 4767c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 477*26f3cdf0SGordon Ross UINT64 *Value); 4787c478bd9Sstevel@tonic-gate 4797c478bd9Sstevel@tonic-gate ACPI_STATUS 48057190917SDana Myers AcpiUtExecute_STA ( 4817c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 48257190917SDana Myers UINT32 *StatusFlags); 4837c478bd9Sstevel@tonic-gate 4847c478bd9Sstevel@tonic-gate ACPI_STATUS 48557190917SDana Myers AcpiUtExecutePowerMethods ( 4867c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 48757190917SDana Myers const char **MethodNames, 48857190917SDana Myers UINT8 MethodCount, 48957190917SDana Myers UINT8 *OutValues); 49057190917SDana Myers 4917c478bd9Sstevel@tonic-gate 49257190917SDana Myers /* 49357190917SDana Myers * utids - device ID support 49457190917SDana Myers */ 4957c478bd9Sstevel@tonic-gate ACPI_STATUS 49657190917SDana Myers AcpiUtExecute_HID ( 4977c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 49857190917SDana Myers ACPI_DEVICE_ID **ReturnId); 4997c478bd9Sstevel@tonic-gate 5007c478bd9Sstevel@tonic-gate ACPI_STATUS 5017c478bd9Sstevel@tonic-gate AcpiUtExecute_UID ( 5027c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 50357190917SDana Myers ACPI_DEVICE_ID **ReturnId); 5047c478bd9Sstevel@tonic-gate 5057c478bd9Sstevel@tonic-gate ACPI_STATUS 50657190917SDana Myers AcpiUtExecute_CID ( 5077c478bd9Sstevel@tonic-gate ACPI_NAMESPACE_NODE *DeviceNode, 50857190917SDana Myers ACPI_DEVICE_ID_LIST **ReturnCidList); 50957190917SDana Myers 5107c478bd9Sstevel@tonic-gate 511aa2aa9a6SDana Myers /* 512aa2aa9a6SDana Myers * utlock - reader/writer locks 513aa2aa9a6SDana Myers */ 514aa2aa9a6SDana Myers ACPI_STATUS 515aa2aa9a6SDana Myers AcpiUtCreateRwLock ( 516aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 517aa2aa9a6SDana Myers 518aa2aa9a6SDana Myers void 519aa2aa9a6SDana Myers AcpiUtDeleteRwLock ( 520aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 521aa2aa9a6SDana Myers 522aa2aa9a6SDana Myers ACPI_STATUS 523aa2aa9a6SDana Myers AcpiUtAcquireReadLock ( 524aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 525aa2aa9a6SDana Myers 526aa2aa9a6SDana Myers ACPI_STATUS 527aa2aa9a6SDana Myers AcpiUtReleaseReadLock ( 528aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 529aa2aa9a6SDana Myers 530aa2aa9a6SDana Myers ACPI_STATUS 531aa2aa9a6SDana Myers AcpiUtAcquireWriteLock ( 532aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 533aa2aa9a6SDana Myers 534aa2aa9a6SDana Myers void 535aa2aa9a6SDana Myers AcpiUtReleaseWriteLock ( 536aa2aa9a6SDana Myers ACPI_RW_LOCK *Lock); 537aa2aa9a6SDana Myers 5387c478bd9Sstevel@tonic-gate 5397c478bd9Sstevel@tonic-gate /* 5407c478bd9Sstevel@tonic-gate * utobject - internal object create/delete/cache routines 5417c478bd9Sstevel@tonic-gate */ 5427c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT * 5437c478bd9Sstevel@tonic-gate AcpiUtCreateInternalObjectDbg ( 544db2bae30SDana Myers const char *ModuleName, 5457c478bd9Sstevel@tonic-gate UINT32 LineNumber, 5467c478bd9Sstevel@tonic-gate UINT32 ComponentId, 5477c478bd9Sstevel@tonic-gate ACPI_OBJECT_TYPE Type); 5487c478bd9Sstevel@tonic-gate 5497c478bd9Sstevel@tonic-gate void * 5507c478bd9Sstevel@tonic-gate AcpiUtAllocateObjectDescDbg ( 551db2bae30SDana Myers const char *ModuleName, 5527c478bd9Sstevel@tonic-gate UINT32 LineNumber, 5537c478bd9Sstevel@tonic-gate UINT32 ComponentId); 5547c478bd9Sstevel@tonic-gate 555450d6964Smyers #define AcpiUtCreateInternalObject(t) AcpiUtCreateInternalObjectDbg (_AcpiModuleName,__LINE__,_COMPONENT,t) 556450d6964Smyers #define AcpiUtAllocateObjectDesc() AcpiUtAllocateObjectDescDbg (_AcpiModuleName,__LINE__,_COMPONENT) 5577c478bd9Sstevel@tonic-gate 5587c478bd9Sstevel@tonic-gate void 5597c478bd9Sstevel@tonic-gate AcpiUtDeleteObjectDesc ( 5607c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object); 5617c478bd9Sstevel@tonic-gate 5627c478bd9Sstevel@tonic-gate BOOLEAN 5637c478bd9Sstevel@tonic-gate AcpiUtValidInternalObject ( 5647c478bd9Sstevel@tonic-gate void *Object); 5657c478bd9Sstevel@tonic-gate 566db2bae30SDana Myers ACPI_OPERAND_OBJECT * 567db2bae30SDana Myers AcpiUtCreatePackageObject ( 568db2bae30SDana Myers UINT32 Count); 569db2bae30SDana Myers 57057190917SDana Myers ACPI_OPERAND_OBJECT * 57157190917SDana Myers AcpiUtCreateIntegerObject ( 57257190917SDana Myers UINT64 Value); 57357190917SDana Myers 5747c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT * 5757c478bd9Sstevel@tonic-gate AcpiUtCreateBufferObject ( 5767c478bd9Sstevel@tonic-gate ACPI_SIZE BufferSize); 5777c478bd9Sstevel@tonic-gate 5787c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT * 5797c478bd9Sstevel@tonic-gate AcpiUtCreateStringObject ( 5807c478bd9Sstevel@tonic-gate ACPI_SIZE StringSize); 5817c478bd9Sstevel@tonic-gate 5827c478bd9Sstevel@tonic-gate ACPI_STATUS 5837c478bd9Sstevel@tonic-gate AcpiUtGetObjectSize( 5847c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Obj, 5857c478bd9Sstevel@tonic-gate ACPI_SIZE *ObjLength); 5867c478bd9Sstevel@tonic-gate 5877c478bd9Sstevel@tonic-gate 588*26f3cdf0SGordon Ross /* 589*26f3cdf0SGordon Ross * utosi - Support for the _OSI predefined control method 590*26f3cdf0SGordon Ross */ 591*26f3cdf0SGordon Ross ACPI_STATUS 592*26f3cdf0SGordon Ross AcpiUtInitializeInterfaces ( 593*26f3cdf0SGordon Ross void); 594*26f3cdf0SGordon Ross 595*26f3cdf0SGordon Ross void 596*26f3cdf0SGordon Ross AcpiUtInterfaceTerminate ( 597*26f3cdf0SGordon Ross void); 598*26f3cdf0SGordon Ross 599*26f3cdf0SGordon Ross ACPI_STATUS 600*26f3cdf0SGordon Ross AcpiUtInstallInterface ( 601*26f3cdf0SGordon Ross ACPI_STRING InterfaceName); 602*26f3cdf0SGordon Ross 603*26f3cdf0SGordon Ross ACPI_STATUS 604*26f3cdf0SGordon Ross AcpiUtRemoveInterface ( 605*26f3cdf0SGordon Ross ACPI_STRING InterfaceName); 606*26f3cdf0SGordon Ross 607*26f3cdf0SGordon Ross ACPI_INTERFACE_INFO * 608*26f3cdf0SGordon Ross AcpiUtGetInterface ( 609*26f3cdf0SGordon Ross ACPI_STRING InterfaceName); 610*26f3cdf0SGordon Ross 611*26f3cdf0SGordon Ross ACPI_STATUS 612*26f3cdf0SGordon Ross AcpiUtOsiImplementation ( 613*26f3cdf0SGordon Ross ACPI_WALK_STATE *WalkState); 614*26f3cdf0SGordon Ross 615*26f3cdf0SGordon Ross 6167c478bd9Sstevel@tonic-gate /* 6177c478bd9Sstevel@tonic-gate * utstate - Generic state creation/cache routines 6187c478bd9Sstevel@tonic-gate */ 6197c478bd9Sstevel@tonic-gate void 6207c478bd9Sstevel@tonic-gate AcpiUtPushGenericState ( 6217c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE **ListHead, 6227c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *State); 6237c478bd9Sstevel@tonic-gate 6247c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE * 6257c478bd9Sstevel@tonic-gate AcpiUtPopGenericState ( 6267c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE **ListHead); 6277c478bd9Sstevel@tonic-gate 6287c478bd9Sstevel@tonic-gate 6297c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE * 6307c478bd9Sstevel@tonic-gate AcpiUtCreateGenericState ( 6317c478bd9Sstevel@tonic-gate void); 6327c478bd9Sstevel@tonic-gate 6337c478bd9Sstevel@tonic-gate ACPI_THREAD_STATE * 6347c478bd9Sstevel@tonic-gate AcpiUtCreateThreadState ( 6357c478bd9Sstevel@tonic-gate void); 6367c478bd9Sstevel@tonic-gate 6377c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE * 6387c478bd9Sstevel@tonic-gate AcpiUtCreateUpdateState ( 6397c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object, 6407c478bd9Sstevel@tonic-gate UINT16 Action); 6417c478bd9Sstevel@tonic-gate 6427c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE * 6437c478bd9Sstevel@tonic-gate AcpiUtCreatePkgState ( 6447c478bd9Sstevel@tonic-gate void *InternalObject, 6457c478bd9Sstevel@tonic-gate void *ExternalObject, 6467c478bd9Sstevel@tonic-gate UINT16 Index); 6477c478bd9Sstevel@tonic-gate 6487c478bd9Sstevel@tonic-gate ACPI_STATUS 6497c478bd9Sstevel@tonic-gate AcpiUtCreateUpdateStateAndPush ( 6507c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *Object, 6517c478bd9Sstevel@tonic-gate UINT16 Action, 6527c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE **StateList); 6537c478bd9Sstevel@tonic-gate 6547c478bd9Sstevel@tonic-gate ACPI_STATUS 6557c478bd9Sstevel@tonic-gate AcpiUtCreatePkgStateAndPush ( 6567c478bd9Sstevel@tonic-gate void *InternalObject, 6577c478bd9Sstevel@tonic-gate void *ExternalObject, 6587c478bd9Sstevel@tonic-gate UINT16 Index, 6597c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE **StateList); 6607c478bd9Sstevel@tonic-gate 6617c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE * 6627c478bd9Sstevel@tonic-gate AcpiUtCreateControlState ( 6637c478bd9Sstevel@tonic-gate void); 6647c478bd9Sstevel@tonic-gate 6657c478bd9Sstevel@tonic-gate void 6667c478bd9Sstevel@tonic-gate AcpiUtDeleteGenericState ( 6677c478bd9Sstevel@tonic-gate ACPI_GENERIC_STATE *State); 6687c478bd9Sstevel@tonic-gate 6697c478bd9Sstevel@tonic-gate 6707c478bd9Sstevel@tonic-gate /* 6717c478bd9Sstevel@tonic-gate * utmath 6727c478bd9Sstevel@tonic-gate */ 6737c478bd9Sstevel@tonic-gate ACPI_STATUS 6747c478bd9Sstevel@tonic-gate AcpiUtDivide ( 675*26f3cdf0SGordon Ross UINT64 InDividend, 676*26f3cdf0SGordon Ross UINT64 InDivisor, 677*26f3cdf0SGordon Ross UINT64 *OutQuotient, 678*26f3cdf0SGordon Ross UINT64 *OutRemainder); 6797c478bd9Sstevel@tonic-gate 6807c478bd9Sstevel@tonic-gate ACPI_STATUS 6817c478bd9Sstevel@tonic-gate AcpiUtShortDivide ( 682*26f3cdf0SGordon Ross UINT64 InDividend, 6837c478bd9Sstevel@tonic-gate UINT32 Divisor, 684*26f3cdf0SGordon Ross UINT64 *OutQuotient, 6857c478bd9Sstevel@tonic-gate UINT32 *OutRemainder); 6867c478bd9Sstevel@tonic-gate 6877c478bd9Sstevel@tonic-gate /* 6887c478bd9Sstevel@tonic-gate * utmisc 6897c478bd9Sstevel@tonic-gate */ 690db2bae30SDana Myers const char * 691db2bae30SDana Myers AcpiUtValidateException ( 692db2bae30SDana Myers ACPI_STATUS Status); 693db2bae30SDana Myers 69457190917SDana Myers BOOLEAN 69557190917SDana Myers AcpiUtIsPciRootBridge ( 69657190917SDana Myers char *Id); 69757190917SDana Myers 69827f7c583Smyers BOOLEAN 69927f7c583Smyers AcpiUtIsAmlTable ( 70027f7c583Smyers ACPI_TABLE_HEADER *Table); 70127f7c583Smyers 7027c478bd9Sstevel@tonic-gate ACPI_STATUS 703450d6964Smyers AcpiUtAllocateOwnerId ( 704450d6964Smyers ACPI_OWNER_ID *OwnerId); 705450d6964Smyers 706186507a7Smyers void 707450d6964Smyers AcpiUtReleaseOwnerId ( 708186507a7Smyers ACPI_OWNER_ID *OwnerId); 709450d6964Smyers 710450d6964Smyers ACPI_STATUS 7117c478bd9Sstevel@tonic-gate AcpiUtWalkPackageTree ( 7127c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *SourceObject, 7137c478bd9Sstevel@tonic-gate void *TargetObject, 7147c478bd9Sstevel@tonic-gate ACPI_PKG_CALLBACK WalkCallback, 7157c478bd9Sstevel@tonic-gate void *Context); 7167c478bd9Sstevel@tonic-gate 717186507a7Smyers void 7187c478bd9Sstevel@tonic-gate AcpiUtStrupr ( 7197c478bd9Sstevel@tonic-gate char *SrcString); 7207c478bd9Sstevel@tonic-gate 721*26f3cdf0SGordon Ross void 722*26f3cdf0SGordon Ross AcpiUtStrlwr ( 723*26f3cdf0SGordon Ross char *SrcString); 724*26f3cdf0SGordon Ross 7257c478bd9Sstevel@tonic-gate void 7267c478bd9Sstevel@tonic-gate AcpiUtPrintString ( 7277c478bd9Sstevel@tonic-gate char *String, 7287c478bd9Sstevel@tonic-gate UINT8 MaxLength); 7297c478bd9Sstevel@tonic-gate 7307c478bd9Sstevel@tonic-gate BOOLEAN 7317c478bd9Sstevel@tonic-gate AcpiUtValidAcpiName ( 7327c478bd9Sstevel@tonic-gate UINT32 Name); 7337c478bd9Sstevel@tonic-gate 734db2bae30SDana Myers void 73527f7c583Smyers AcpiUtRepairName ( 736db2bae30SDana Myers char *Name); 73727f7c583Smyers 7387c478bd9Sstevel@tonic-gate BOOLEAN 73927f7c583Smyers AcpiUtValidAcpiChar ( 74027f7c583Smyers char Character, 741db2bae30SDana Myers UINT32 Position); 7427c478bd9Sstevel@tonic-gate 7437c478bd9Sstevel@tonic-gate ACPI_STATUS 7447c478bd9Sstevel@tonic-gate AcpiUtStrtoul64 ( 7457c478bd9Sstevel@tonic-gate char *String, 7467c478bd9Sstevel@tonic-gate UINT32 Base, 747*26f3cdf0SGordon Ross UINT64 *RetInteger); 74857190917SDana Myers 7497c478bd9Sstevel@tonic-gate /* Values for Base above (16=Hex, 10=Decimal) */ 7507c478bd9Sstevel@tonic-gate 7517c478bd9Sstevel@tonic-gate #define ACPI_ANY_BASE 0 7527c478bd9Sstevel@tonic-gate 75327f7c583Smyers UINT32 75427f7c583Smyers AcpiUtDwordByteSwap ( 75527f7c583Smyers UINT32 Value); 75627f7c583Smyers 75727f7c583Smyers void 75827f7c583Smyers AcpiUtSetIntegerWidth ( 75927f7c583Smyers UINT8 Revision); 76027f7c583Smyers 76127f7c583Smyers #ifdef ACPI_DEBUG_OUTPUT 76227f7c583Smyers void 76327f7c583Smyers AcpiUtDisplayInitPathname ( 76427f7c583Smyers UINT8 Type, 76527f7c583Smyers ACPI_NAMESPACE_NODE *ObjHandle, 76627f7c583Smyers char *Path); 76727f7c583Smyers #endif 76827f7c583Smyers 76927f7c583Smyers 77027f7c583Smyers /* 77127f7c583Smyers * utresrc 77227f7c583Smyers */ 77327f7c583Smyers ACPI_STATUS 77427f7c583Smyers AcpiUtWalkAmlResources ( 77527f7c583Smyers UINT8 *Aml, 77627f7c583Smyers ACPI_SIZE AmlLength, 77727f7c583Smyers ACPI_WALK_AML_CALLBACK UserFunction, 77827f7c583Smyers void *Context); 77927f7c583Smyers 78030082d0cSmyers ACPI_STATUS 78130082d0cSmyers AcpiUtValidateResource ( 78230082d0cSmyers void *Aml, 78330082d0cSmyers UINT8 *ReturnIndex); 78430082d0cSmyers 78530082d0cSmyers UINT32 78630082d0cSmyers AcpiUtGetDescriptorLength ( 78730082d0cSmyers void *Aml); 78830082d0cSmyers 78930082d0cSmyers UINT16 79030082d0cSmyers AcpiUtGetResourceLength ( 79130082d0cSmyers void *Aml); 7927c478bd9Sstevel@tonic-gate 7937c478bd9Sstevel@tonic-gate UINT8 79430082d0cSmyers AcpiUtGetResourceHeaderLength ( 79530082d0cSmyers void *Aml); 79630082d0cSmyers 79730082d0cSmyers UINT8 79830082d0cSmyers AcpiUtGetResourceType ( 79930082d0cSmyers void *Aml); 80030082d0cSmyers 80130082d0cSmyers ACPI_STATUS 80230082d0cSmyers AcpiUtGetResourceEndTag ( 80330082d0cSmyers ACPI_OPERAND_OBJECT *ObjDesc, 80430082d0cSmyers UINT8 **EndTag); 8057c478bd9Sstevel@tonic-gate 8067c478bd9Sstevel@tonic-gate 8077c478bd9Sstevel@tonic-gate /* 808450d6964Smyers * utmutex - mutex support 8097c478bd9Sstevel@tonic-gate */ 810450d6964Smyers ACPI_STATUS 811450d6964Smyers AcpiUtMutexInitialize ( 812450d6964Smyers void); 8137c478bd9Sstevel@tonic-gate 8147c478bd9Sstevel@tonic-gate void 815450d6964Smyers AcpiUtMutexTerminate ( 816450d6964Smyers void); 8177c478bd9Sstevel@tonic-gate 818450d6964Smyers ACPI_STATUS 819450d6964Smyers AcpiUtAcquireMutex ( 820450d6964Smyers ACPI_MUTEX_HANDLE MutexId); 821450d6964Smyers 822450d6964Smyers ACPI_STATUS 823450d6964Smyers AcpiUtReleaseMutex ( 824450d6964Smyers ACPI_MUTEX_HANDLE MutexId); 825450d6964Smyers 826450d6964Smyers 827450d6964Smyers /* 828450d6964Smyers * utalloc - memory allocation and object caching 829450d6964Smyers */ 830450d6964Smyers ACPI_STATUS 831450d6964Smyers AcpiUtCreateCaches ( 832450d6964Smyers void); 833450d6964Smyers 834450d6964Smyers ACPI_STATUS 835450d6964Smyers AcpiUtDeleteCaches ( 836450d6964Smyers void); 8377c478bd9Sstevel@tonic-gate 8387c478bd9Sstevel@tonic-gate ACPI_STATUS 8397c478bd9Sstevel@tonic-gate AcpiUtValidateBuffer ( 8407c478bd9Sstevel@tonic-gate ACPI_BUFFER *Buffer); 8417c478bd9Sstevel@tonic-gate 8427c478bd9Sstevel@tonic-gate ACPI_STATUS 8437c478bd9Sstevel@tonic-gate AcpiUtInitializeBuffer ( 8447c478bd9Sstevel@tonic-gate ACPI_BUFFER *Buffer, 8457c478bd9Sstevel@tonic-gate ACPI_SIZE RequiredLength); 8467c478bd9Sstevel@tonic-gate 8477c478bd9Sstevel@tonic-gate void * 8487c478bd9Sstevel@tonic-gate AcpiUtAllocate ( 8497c478bd9Sstevel@tonic-gate ACPI_SIZE Size, 8507c478bd9Sstevel@tonic-gate UINT32 Component, 851db2bae30SDana Myers const char *Module, 8527c478bd9Sstevel@tonic-gate UINT32 Line); 8537c478bd9Sstevel@tonic-gate 8547c478bd9Sstevel@tonic-gate void * 85527f7c583Smyers AcpiUtAllocateZeroed ( 8567c478bd9Sstevel@tonic-gate ACPI_SIZE Size, 8577c478bd9Sstevel@tonic-gate UINT32 Component, 858db2bae30SDana Myers const char *Module, 8597c478bd9Sstevel@tonic-gate UINT32 Line); 8607c478bd9Sstevel@tonic-gate 8617c478bd9Sstevel@tonic-gate #ifdef ACPI_DBG_TRACK_ALLOCATIONS 8627c478bd9Sstevel@tonic-gate void * 8637c478bd9Sstevel@tonic-gate AcpiUtAllocateAndTrack ( 8647c478bd9Sstevel@tonic-gate ACPI_SIZE Size, 8657c478bd9Sstevel@tonic-gate UINT32 Component, 866db2bae30SDana Myers const char *Module, 8677c478bd9Sstevel@tonic-gate UINT32 Line); 8687c478bd9Sstevel@tonic-gate 8697c478bd9Sstevel@tonic-gate void * 87027f7c583Smyers AcpiUtAllocateZeroedAndTrack ( 8717c478bd9Sstevel@tonic-gate ACPI_SIZE Size, 8727c478bd9Sstevel@tonic-gate UINT32 Component, 873db2bae30SDana Myers const char *Module, 8747c478bd9Sstevel@tonic-gate UINT32 Line); 8757c478bd9Sstevel@tonic-gate 8767c478bd9Sstevel@tonic-gate void 8777c478bd9Sstevel@tonic-gate AcpiUtFreeAndTrack ( 8787c478bd9Sstevel@tonic-gate void *Address, 8797c478bd9Sstevel@tonic-gate UINT32 Component, 880db2bae30SDana Myers const char *Module, 8817c478bd9Sstevel@tonic-gate UINT32 Line); 8827c478bd9Sstevel@tonic-gate 8837c478bd9Sstevel@tonic-gate void 8847c478bd9Sstevel@tonic-gate AcpiUtDumpAllocationInfo ( 8857c478bd9Sstevel@tonic-gate void); 8867c478bd9Sstevel@tonic-gate 8877c478bd9Sstevel@tonic-gate void 8887c478bd9Sstevel@tonic-gate AcpiUtDumpAllocations ( 8897c478bd9Sstevel@tonic-gate UINT32 Component, 890db2bae30SDana Myers const char *Module); 89127f7c583Smyers 89227f7c583Smyers ACPI_STATUS 89327f7c583Smyers AcpiUtCreateList ( 89427f7c583Smyers char *ListName, 89527f7c583Smyers UINT16 ObjectSize, 89627f7c583Smyers ACPI_MEMORY_LIST **ReturnCache); 89727f7c583Smyers 898*26f3cdf0SGordon Ross #endif /* ACPI_DBG_TRACK_ALLOCATIONS */ 89927f7c583Smyers 900*26f3cdf0SGordon Ross 901*26f3cdf0SGordon Ross /* 902*26f3cdf0SGordon Ross * utxferror - various error/warning output functions 903*26f3cdf0SGordon Ross */ 904*26f3cdf0SGordon Ross void ACPI_INTERNAL_VAR_XFACE 905*26f3cdf0SGordon Ross AcpiUtPredefinedWarning ( 906*26f3cdf0SGordon Ross const char *ModuleName, 907*26f3cdf0SGordon Ross UINT32 LineNumber, 908*26f3cdf0SGordon Ross char *Pathname, 909*26f3cdf0SGordon Ross UINT8 NodeFlags, 910*26f3cdf0SGordon Ross const char *Format, 911*26f3cdf0SGordon Ross ...); 912*26f3cdf0SGordon Ross 913*26f3cdf0SGordon Ross void ACPI_INTERNAL_VAR_XFACE 914*26f3cdf0SGordon Ross AcpiUtPredefinedInfo ( 915*26f3cdf0SGordon Ross const char *ModuleName, 916*26f3cdf0SGordon Ross UINT32 LineNumber, 917*26f3cdf0SGordon Ross char *Pathname, 918*26f3cdf0SGordon Ross UINT8 NodeFlags, 919*26f3cdf0SGordon Ross const char *Format, 920*26f3cdf0SGordon Ross ...); 921*26f3cdf0SGordon Ross 922*26f3cdf0SGordon Ross void 923*26f3cdf0SGordon Ross AcpiUtNamespaceError ( 924*26f3cdf0SGordon Ross const char *ModuleName, 925*26f3cdf0SGordon Ross UINT32 LineNumber, 926*26f3cdf0SGordon Ross const char *InternalName, 927*26f3cdf0SGordon Ross ACPI_STATUS LookupStatus); 928*26f3cdf0SGordon Ross 929*26f3cdf0SGordon Ross void 930*26f3cdf0SGordon Ross AcpiUtMethodError ( 931*26f3cdf0SGordon Ross const char *ModuleName, 932*26f3cdf0SGordon Ross UINT32 LineNumber, 933*26f3cdf0SGordon Ross const char *Message, 934*26f3cdf0SGordon Ross ACPI_NAMESPACE_NODE *Node, 935*26f3cdf0SGordon Ross const char *Path, 936*26f3cdf0SGordon Ross ACPI_STATUS LookupStatus); 9377c478bd9Sstevel@tonic-gate 9387c478bd9Sstevel@tonic-gate #endif /* _ACUTILS_H */ 939