17c478bd9Sstevel@tonic-gate /****************************************************************************** 27c478bd9Sstevel@tonic-gate * 37c478bd9Sstevel@tonic-gate * Name: acresrc.h - Resource Manager function prototypes 47c478bd9Sstevel@tonic-gate * 57c478bd9Sstevel@tonic-gate *****************************************************************************/ 67c478bd9Sstevel@tonic-gate 7*35786f68SRobert Mustacchi /****************************************************************************** 8*35786f68SRobert Mustacchi * 9*35786f68SRobert Mustacchi * 1. Copyright Notice 10*35786f68SRobert Mustacchi * 11*35786f68SRobert Mustacchi * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp. 127c478bd9Sstevel@tonic-gate * All rights reserved. 137c478bd9Sstevel@tonic-gate * 14*35786f68SRobert Mustacchi * 2. License 15*35786f68SRobert Mustacchi * 16*35786f68SRobert Mustacchi * 2.1. This is your license from Intel Corp. under its intellectual property 17*35786f68SRobert Mustacchi * rights. You may have additional license terms from the party that provided 18*35786f68SRobert Mustacchi * you this software, covering your right to use that party's intellectual 19*35786f68SRobert Mustacchi * property rights. 20*35786f68SRobert Mustacchi * 21*35786f68SRobert Mustacchi * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22*35786f68SRobert Mustacchi * copy of the source code appearing in this file ("Covered Code") an 23*35786f68SRobert Mustacchi * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24*35786f68SRobert Mustacchi * base code distributed originally by Intel ("Original Intel Code") to copy, 25*35786f68SRobert Mustacchi 26*35786f68SRobert Mustacchi * make derivatives, distribute, use and display any portion of the Covered 27*35786f68SRobert Mustacchi * Code in any form, with the right to sublicense such rights; and 28*35786f68SRobert Mustacchi * 29*35786f68SRobert Mustacchi * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 30*35786f68SRobert Mustacchi * license (with the right to sublicense), under only those claims of Intel 31*35786f68SRobert Mustacchi * patents that are infringed by the Original Intel Code, to make, use, sell, 32*35786f68SRobert Mustacchi * offer to sell, and import the Covered Code and derivative works thereof 33*35786f68SRobert Mustacchi * solely to the minimum extent necessary to exercise the above copyright 34*35786f68SRobert Mustacchi * license, and in no event shall the patent license extend to any additions 35*35786f68SRobert Mustacchi * to or modifications of the Original Intel Code. No other license or right 36*35786f68SRobert Mustacchi * is granted directly or by implication, estoppel or otherwise; 37*35786f68SRobert Mustacchi * 38*35786f68SRobert Mustacchi * The above copyright and patent license is granted only if the following 39*35786f68SRobert Mustacchi * conditions are met: 40*35786f68SRobert Mustacchi * 41*35786f68SRobert Mustacchi * 3. Conditions 42*35786f68SRobert Mustacchi * 43*35786f68SRobert Mustacchi * 3.1. Redistribution of Source with Rights to Further Distribute Source. 44*35786f68SRobert Mustacchi * Redistribution of source code of any substantial portion of the Covered 45*35786f68SRobert Mustacchi * Code or modification with rights to further distribute source must include 46*35786f68SRobert Mustacchi * the above Copyright Notice, the above License, this list of Conditions, 47*35786f68SRobert Mustacchi * and the following Disclaimer and Export Compliance provision. In addition, 48*35786f68SRobert Mustacchi * Licensee must cause all Covered Code to which Licensee contributes to 49*35786f68SRobert Mustacchi * contain a file documenting the changes Licensee made to create that Covered 50*35786f68SRobert Mustacchi * Code and the date of any change. Licensee must include in that file the 51*35786f68SRobert Mustacchi * documentation of any changes made by any predecessor Licensee. Licensee 52*35786f68SRobert Mustacchi * must include a prominent statement that the modification is derived, 53*35786f68SRobert Mustacchi * directly or indirectly, from Original Intel Code. 54*35786f68SRobert Mustacchi * 55*35786f68SRobert Mustacchi * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 56*35786f68SRobert Mustacchi * Redistribution of source code of any substantial portion of the Covered 57*35786f68SRobert Mustacchi * Code or modification without rights to further distribute source must 58*35786f68SRobert Mustacchi * include the following Disclaimer and Export Compliance provision in the 59*35786f68SRobert Mustacchi * documentation and/or other materials provided with distribution. In 60*35786f68SRobert Mustacchi * addition, Licensee may not authorize further sublicense of source of any 61*35786f68SRobert Mustacchi * portion of the Covered Code, and must include terms to the effect that the 62*35786f68SRobert Mustacchi * license from Licensee to its licensee is limited to the intellectual 63*35786f68SRobert Mustacchi * property embodied in the software Licensee provides to its licensee, and 64*35786f68SRobert Mustacchi * not to intellectual property embodied in modifications its licensee may 65*35786f68SRobert Mustacchi * make. 66*35786f68SRobert Mustacchi * 67*35786f68SRobert Mustacchi * 3.3. Redistribution of Executable. Redistribution in executable form of any 68*35786f68SRobert Mustacchi * substantial portion of the Covered Code or modification must reproduce the 69*35786f68SRobert Mustacchi * above Copyright Notice, and the following Disclaimer and Export Compliance 70*35786f68SRobert Mustacchi * provision in the documentation and/or other materials provided with the 71*35786f68SRobert Mustacchi * distribution. 72*35786f68SRobert Mustacchi * 73*35786f68SRobert Mustacchi * 3.4. Intel retains all right, title, and interest in and to the Original 74*35786f68SRobert Mustacchi * Intel Code. 75*35786f68SRobert Mustacchi * 76*35786f68SRobert Mustacchi * 3.5. Neither the name Intel nor any other trademark owned or controlled by 77*35786f68SRobert Mustacchi * Intel shall be used in advertising or otherwise to promote the sale, use or 78*35786f68SRobert Mustacchi * other dealings in products derived from or relating to the Covered Code 79*35786f68SRobert Mustacchi * without prior written authorization from Intel. 80*35786f68SRobert Mustacchi * 81*35786f68SRobert Mustacchi * 4. Disclaimer and Export Compliance 82*35786f68SRobert Mustacchi * 83*35786f68SRobert Mustacchi * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 84*35786f68SRobert Mustacchi * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 85*35786f68SRobert Mustacchi * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 86*35786f68SRobert Mustacchi * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 87*35786f68SRobert Mustacchi * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 88*35786f68SRobert Mustacchi * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 89*35786f68SRobert Mustacchi * PARTICULAR PURPOSE. 90*35786f68SRobert Mustacchi * 91*35786f68SRobert Mustacchi * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 92*35786f68SRobert Mustacchi * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 93*35786f68SRobert Mustacchi * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 94*35786f68SRobert Mustacchi * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 95*35786f68SRobert Mustacchi * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 96*35786f68SRobert Mustacchi * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 97*35786f68SRobert Mustacchi * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 98*35786f68SRobert Mustacchi * LIMITED REMEDY. 99*35786f68SRobert Mustacchi * 100*35786f68SRobert Mustacchi * 4.3. Licensee shall not export, either directly or indirectly, any of this 101*35786f68SRobert Mustacchi * software or system incorporating such software without first obtaining any 102*35786f68SRobert Mustacchi * required license or other approval from the U. S. Department of Commerce or 103*35786f68SRobert Mustacchi * any other agency or department of the United States Government. In the 104*35786f68SRobert Mustacchi * event Licensee exports any such software from the United States or 105*35786f68SRobert Mustacchi * re-exports any such software from a foreign destination, Licensee shall 106*35786f68SRobert Mustacchi * ensure that the distribution and export/re-export of the software is in 107*35786f68SRobert Mustacchi * compliance with all laws, regulations, orders, or other restrictions of the 108*35786f68SRobert Mustacchi * U.S. Export Administration Regulations. Licensee agrees that neither it nor 109*35786f68SRobert Mustacchi * any of its subsidiaries will export/re-export any technical data, process, 110*35786f68SRobert Mustacchi * software, or service, directly or indirectly, to any country for which the 111*35786f68SRobert Mustacchi * United States government or any agency thereof requires an export license, 112*35786f68SRobert Mustacchi * other governmental approval, or letter of assurance, without first obtaining 113*35786f68SRobert Mustacchi * such license, approval or letter. 114*35786f68SRobert Mustacchi * 115*35786f68SRobert Mustacchi ***************************************************************************** 116*35786f68SRobert Mustacchi * 117*35786f68SRobert Mustacchi * Alternatively, you may choose to be licensed under the terms of the 118*35786f68SRobert Mustacchi * following license: 119*35786f68SRobert Mustacchi * 12026f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 12126f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 12226f3cdf0SGordon Ross * are met: 12326f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 12426f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 12526f3cdf0SGordon Ross * without modification. 12626f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12726f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 12826f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 12926f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 13026f3cdf0SGordon Ross * binary redistribution. 13126f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 13226f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 13326f3cdf0SGordon Ross * from this software without specific prior written permission. 13426f3cdf0SGordon Ross * 13526f3cdf0SGordon Ross * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 13626f3cdf0SGordon Ross * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 137*35786f68SRobert Mustacchi * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 13826f3cdf0SGordon Ross * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 139*35786f68SRobert Mustacchi * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 140*35786f68SRobert Mustacchi * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 141*35786f68SRobert Mustacchi * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 142*35786f68SRobert Mustacchi * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 143*35786f68SRobert Mustacchi * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 144*35786f68SRobert Mustacchi * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 145*35786f68SRobert Mustacchi * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 146*35786f68SRobert Mustacchi * 147*35786f68SRobert Mustacchi * Alternatively, you may choose to be licensed under the terms of the 148*35786f68SRobert Mustacchi * GNU General Public License ("GPL") version 2 as published by the Free 149*35786f68SRobert Mustacchi * Software Foundation. 150*35786f68SRobert Mustacchi * 151*35786f68SRobert Mustacchi *****************************************************************************/ 1527c478bd9Sstevel@tonic-gate 1537c478bd9Sstevel@tonic-gate #ifndef __ACRESRC_H__ 1547c478bd9Sstevel@tonic-gate #define __ACRESRC_H__ 1557c478bd9Sstevel@tonic-gate 156186507a7Smyers /* Need the AML resource descriptor structs */ 157186507a7Smyers 158186507a7Smyers #include "amlresrc.h" 159186507a7Smyers 160186507a7Smyers 161186507a7Smyers /* 16230082d0cSmyers * If possible, pack the following structures to byte alignment, since we 16327f7c583Smyers * don't care about performance for debug output. Two cases where we cannot 16427f7c583Smyers * pack the structures: 16527f7c583Smyers * 16627f7c583Smyers * 1) Hardware does not support misaligned memory transfers 16727f7c583Smyers * 2) Compiler does not support pointers within packed structures 168186507a7Smyers */ 16927f7c583Smyers #if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) 17030082d0cSmyers #pragma pack(1) 17130082d0cSmyers #endif 17230082d0cSmyers 17330082d0cSmyers /* 17430082d0cSmyers * Individual entry for the resource conversion tables 17530082d0cSmyers */ 17630082d0cSmyers typedef const struct acpi_rsconvert_info 177186507a7Smyers { 17830082d0cSmyers UINT8 Opcode; 17930082d0cSmyers UINT8 ResourceOffset; 18030082d0cSmyers UINT8 AmlOffset; 18130082d0cSmyers UINT8 Value; 18230082d0cSmyers 18330082d0cSmyers } ACPI_RSCONVERT_INFO; 18430082d0cSmyers 18530082d0cSmyers /* Resource conversion opcodes */ 18630082d0cSmyers 1877b1019a6SJerry Jelinek typedef enum 1887b1019a6SJerry Jelinek { 1897b1019a6SJerry Jelinek ACPI_RSC_INITGET = 0, 1907b1019a6SJerry Jelinek ACPI_RSC_INITSET, 1917b1019a6SJerry Jelinek ACPI_RSC_FLAGINIT, 1927b1019a6SJerry Jelinek ACPI_RSC_1BITFLAG, 1937b1019a6SJerry Jelinek ACPI_RSC_2BITFLAG, 1947b1019a6SJerry Jelinek ACPI_RSC_3BITFLAG, 1957b1019a6SJerry Jelinek ACPI_RSC_ADDRESS, 1967b1019a6SJerry Jelinek ACPI_RSC_BITMASK, 1977b1019a6SJerry Jelinek ACPI_RSC_BITMASK16, 1987b1019a6SJerry Jelinek ACPI_RSC_COUNT, 1997b1019a6SJerry Jelinek ACPI_RSC_COUNT16, 2007b1019a6SJerry Jelinek ACPI_RSC_COUNT_GPIO_PIN, 2017b1019a6SJerry Jelinek ACPI_RSC_COUNT_GPIO_RES, 2027b1019a6SJerry Jelinek ACPI_RSC_COUNT_GPIO_VEN, 2037b1019a6SJerry Jelinek ACPI_RSC_COUNT_SERIAL_RES, 2047b1019a6SJerry Jelinek ACPI_RSC_COUNT_SERIAL_VEN, 2057b1019a6SJerry Jelinek ACPI_RSC_DATA8, 2067b1019a6SJerry Jelinek ACPI_RSC_EXIT_EQ, 2077b1019a6SJerry Jelinek ACPI_RSC_EXIT_LE, 2087b1019a6SJerry Jelinek ACPI_RSC_EXIT_NE, 2097b1019a6SJerry Jelinek ACPI_RSC_LENGTH, 2107b1019a6SJerry Jelinek ACPI_RSC_MOVE_GPIO_PIN, 2117b1019a6SJerry Jelinek ACPI_RSC_MOVE_GPIO_RES, 2127b1019a6SJerry Jelinek ACPI_RSC_MOVE_SERIAL_RES, 2137b1019a6SJerry Jelinek ACPI_RSC_MOVE_SERIAL_VEN, 2147b1019a6SJerry Jelinek ACPI_RSC_MOVE8, 2157b1019a6SJerry Jelinek ACPI_RSC_MOVE16, 2167b1019a6SJerry Jelinek ACPI_RSC_MOVE32, 2177b1019a6SJerry Jelinek ACPI_RSC_MOVE64, 2187b1019a6SJerry Jelinek ACPI_RSC_SET8, 2197b1019a6SJerry Jelinek ACPI_RSC_SOURCE, 2207b1019a6SJerry Jelinek ACPI_RSC_SOURCEX 2217b1019a6SJerry Jelinek 2227b1019a6SJerry Jelinek } ACPI_RSCONVERT_OPCODES; 22330082d0cSmyers 22430082d0cSmyers /* Resource Conversion sub-opcodes */ 22530082d0cSmyers 22630082d0cSmyers #define ACPI_RSC_COMPARE_AML_LENGTH 0 22730082d0cSmyers #define ACPI_RSC_COMPARE_VALUE 1 22830082d0cSmyers 22930082d0cSmyers #define ACPI_RSC_TABLE_SIZE(d) (sizeof (d) / sizeof (ACPI_RSCONVERT_INFO)) 23030082d0cSmyers 23130082d0cSmyers #define ACPI_RS_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_RESOURCE,f) 23230082d0cSmyers #define AML_OFFSET(f) (UINT8) ACPI_OFFSET (AML_RESOURCE,f) 23330082d0cSmyers 23430082d0cSmyers 2357b1019a6SJerry Jelinek /* 2367b1019a6SJerry Jelinek * Individual entry for the resource dump tables 2377b1019a6SJerry Jelinek */ 23830082d0cSmyers typedef const struct acpi_rsdump_info 23930082d0cSmyers { 24030082d0cSmyers UINT8 Opcode; 24130082d0cSmyers UINT8 Offset; 2427b1019a6SJerry Jelinek const char *Name; 24330082d0cSmyers const char **Pointer; 244186507a7Smyers 24530082d0cSmyers } ACPI_RSDUMP_INFO; 246186507a7Smyers 24730082d0cSmyers /* Values for the Opcode field above */ 248186507a7Smyers 2497b1019a6SJerry Jelinek typedef enum 2507b1019a6SJerry Jelinek { 2517b1019a6SJerry Jelinek ACPI_RSD_TITLE = 0, 2527b1019a6SJerry Jelinek ACPI_RSD_1BITFLAG, 2537b1019a6SJerry Jelinek ACPI_RSD_2BITFLAG, 2547b1019a6SJerry Jelinek ACPI_RSD_3BITFLAG, 2557b1019a6SJerry Jelinek ACPI_RSD_ADDRESS, 2567b1019a6SJerry Jelinek ACPI_RSD_DWORDLIST, 2577b1019a6SJerry Jelinek ACPI_RSD_LITERAL, 2587b1019a6SJerry Jelinek ACPI_RSD_LONGLIST, 2597b1019a6SJerry Jelinek ACPI_RSD_SHORTLIST, 2607b1019a6SJerry Jelinek ACPI_RSD_SHORTLISTX, 2617b1019a6SJerry Jelinek ACPI_RSD_SOURCE, 2627b1019a6SJerry Jelinek ACPI_RSD_STRING, 2637b1019a6SJerry Jelinek ACPI_RSD_UINT8, 2647b1019a6SJerry Jelinek ACPI_RSD_UINT16, 2657b1019a6SJerry Jelinek ACPI_RSD_UINT32, 2667b1019a6SJerry Jelinek ACPI_RSD_UINT64, 267*35786f68SRobert Mustacchi ACPI_RSD_WORDLIST, 268*35786f68SRobert Mustacchi ACPI_RSD_LABEL, 269*35786f68SRobert Mustacchi ACPI_RSD_SOURCE_LABEL, 2707b1019a6SJerry Jelinek 2717b1019a6SJerry Jelinek } ACPI_RSDUMP_OPCODES; 272186507a7Smyers 27330082d0cSmyers /* restore default alignment */ 274186507a7Smyers 27530082d0cSmyers #pragma pack() 276186507a7Smyers 277186507a7Smyers 27830082d0cSmyers /* Resource tables indexed by internal resource type */ 27930082d0cSmyers 28030082d0cSmyers extern const UINT8 AcpiGbl_AmlResourceSizes[]; 2817b1019a6SJerry Jelinek extern const UINT8 AcpiGbl_AmlResourceSerialBusSizes[]; 28230082d0cSmyers extern ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[]; 28330082d0cSmyers 28430082d0cSmyers /* Resource tables indexed by raw AML resource descriptor type */ 28530082d0cSmyers 28630082d0cSmyers extern const UINT8 AcpiGbl_ResourceStructSizes[]; 2877b1019a6SJerry Jelinek extern const UINT8 AcpiGbl_ResourceStructSerialBusSizes[]; 28830082d0cSmyers extern ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[]; 28930082d0cSmyers 2907b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO *AcpiGbl_ConvertResourceSerialBusDispatch[]; 29130082d0cSmyers 29230082d0cSmyers typedef struct acpi_vendor_walk_info 29330082d0cSmyers { 29430082d0cSmyers ACPI_VENDOR_UUID *Uuid; 29530082d0cSmyers ACPI_BUFFER *Buffer; 29630082d0cSmyers ACPI_STATUS Status; 29730082d0cSmyers 29830082d0cSmyers } ACPI_VENDOR_WALK_INFO; 299186507a7Smyers 300186507a7Smyers 30130082d0cSmyers /* 30230082d0cSmyers * rscreate 30330082d0cSmyers */ 30430082d0cSmyers ACPI_STATUS 30530082d0cSmyers AcpiRsCreateResourceList ( 30630082d0cSmyers ACPI_OPERAND_OBJECT *AmlBuffer, 30730082d0cSmyers ACPI_BUFFER *OutputBuffer); 308186507a7Smyers 30930082d0cSmyers ACPI_STATUS 31030082d0cSmyers AcpiRsCreateAmlResources ( 3117b1019a6SJerry Jelinek ACPI_BUFFER *ResourceList, 31230082d0cSmyers ACPI_BUFFER *OutputBuffer); 313186507a7Smyers 31430082d0cSmyers ACPI_STATUS 31530082d0cSmyers AcpiRsCreatePciRoutingTable ( 31630082d0cSmyers ACPI_OPERAND_OBJECT *PackageObject, 31730082d0cSmyers ACPI_BUFFER *OutputBuffer); 318186507a7Smyers 3197c478bd9Sstevel@tonic-gate 3207c478bd9Sstevel@tonic-gate /* 32130082d0cSmyers * rsutils 3227c478bd9Sstevel@tonic-gate */ 3237c478bd9Sstevel@tonic-gate ACPI_STATUS 3247c478bd9Sstevel@tonic-gate AcpiRsGetPrtMethodData ( 32527f7c583Smyers ACPI_NAMESPACE_NODE *Node, 3267c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3277c478bd9Sstevel@tonic-gate 3287c478bd9Sstevel@tonic-gate ACPI_STATUS 3297c478bd9Sstevel@tonic-gate AcpiRsGetCrsMethodData ( 33027f7c583Smyers ACPI_NAMESPACE_NODE *Node, 3317c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3327c478bd9Sstevel@tonic-gate 3337c478bd9Sstevel@tonic-gate ACPI_STATUS 3347c478bd9Sstevel@tonic-gate AcpiRsGetPrsMethodData ( 33527f7c583Smyers ACPI_NAMESPACE_NODE *Node, 3367c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3377c478bd9Sstevel@tonic-gate 3387c478bd9Sstevel@tonic-gate ACPI_STATUS 3397c478bd9Sstevel@tonic-gate AcpiRsGetMethodData ( 3407c478bd9Sstevel@tonic-gate ACPI_HANDLE Handle, 3417b1019a6SJerry Jelinek const char *Path, 3427c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3437c478bd9Sstevel@tonic-gate 3447c478bd9Sstevel@tonic-gate ACPI_STATUS 3457c478bd9Sstevel@tonic-gate AcpiRsSetSrsMethodData ( 34627f7c583Smyers ACPI_NAMESPACE_NODE *Node, 3477c478bd9Sstevel@tonic-gate ACPI_BUFFER *RetBuffer); 3487c478bd9Sstevel@tonic-gate 3497b1019a6SJerry Jelinek ACPI_STATUS 3507b1019a6SJerry Jelinek AcpiRsGetAeiMethodData ( 3517b1019a6SJerry Jelinek ACPI_NAMESPACE_NODE *Node, 3527b1019a6SJerry Jelinek ACPI_BUFFER *RetBuffer); 3537c478bd9Sstevel@tonic-gate 3547c478bd9Sstevel@tonic-gate /* 3557c478bd9Sstevel@tonic-gate * rscalc 3567c478bd9Sstevel@tonic-gate */ 3577c478bd9Sstevel@tonic-gate ACPI_STATUS 3587c478bd9Sstevel@tonic-gate AcpiRsGetListLength ( 359186507a7Smyers UINT8 *AmlBuffer, 360186507a7Smyers UINT32 AmlBufferLength, 3617c478bd9Sstevel@tonic-gate ACPI_SIZE *SizeNeeded); 3627c478bd9Sstevel@tonic-gate 3637c478bd9Sstevel@tonic-gate ACPI_STATUS 364186507a7Smyers AcpiRsGetAmlLength ( 3657b1019a6SJerry Jelinek ACPI_RESOURCE *ResourceList, 3667b1019a6SJerry Jelinek ACPI_SIZE ResourceListSize, 3677c478bd9Sstevel@tonic-gate ACPI_SIZE *SizeNeeded); 3687c478bd9Sstevel@tonic-gate 3697c478bd9Sstevel@tonic-gate ACPI_STATUS 3707c478bd9Sstevel@tonic-gate AcpiRsGetPciRoutingTableLength ( 3717c478bd9Sstevel@tonic-gate ACPI_OPERAND_OBJECT *PackageObject, 3727c478bd9Sstevel@tonic-gate ACPI_SIZE *BufferSizeNeeded); 3737c478bd9Sstevel@tonic-gate 3747c478bd9Sstevel@tonic-gate ACPI_STATUS 375186507a7Smyers AcpiRsConvertAmlToResources ( 37627f7c583Smyers UINT8 *Aml, 37727f7c583Smyers UINT32 Length, 37827f7c583Smyers UINT32 Offset, 37927f7c583Smyers UINT8 ResourceIndex, 3807b1019a6SJerry Jelinek void **Context); 3817c478bd9Sstevel@tonic-gate 3827c478bd9Sstevel@tonic-gate ACPI_STATUS 383186507a7Smyers AcpiRsConvertResourcesToAml ( 384186507a7Smyers ACPI_RESOURCE *Resource, 385186507a7Smyers ACPI_SIZE AmlSizeNeeded, 3867c478bd9Sstevel@tonic-gate UINT8 *OutputBuffer); 3877c478bd9Sstevel@tonic-gate 388186507a7Smyers 389186507a7Smyers /* 390186507a7Smyers * rsaddr 391186507a7Smyers */ 39230082d0cSmyers void 39330082d0cSmyers AcpiRsSetAddressCommon ( 394186507a7Smyers AML_RESOURCE *Aml, 395186507a7Smyers ACPI_RESOURCE *Resource); 3967c478bd9Sstevel@tonic-gate 39730082d0cSmyers BOOLEAN 39830082d0cSmyers AcpiRsGetAddressCommon ( 399186507a7Smyers ACPI_RESOURCE *Resource, 400186507a7Smyers AML_RESOURCE *Aml); 4017c478bd9Sstevel@tonic-gate 402186507a7Smyers 403186507a7Smyers /* 404186507a7Smyers * rsmisc 405186507a7Smyers */ 4067c478bd9Sstevel@tonic-gate ACPI_STATUS 40730082d0cSmyers AcpiRsConvertAmlToResource ( 408186507a7Smyers ACPI_RESOURCE *Resource, 409186507a7Smyers AML_RESOURCE *Aml, 41030082d0cSmyers ACPI_RSCONVERT_INFO *Info); 4117c478bd9Sstevel@tonic-gate 4127c478bd9Sstevel@tonic-gate ACPI_STATUS 41330082d0cSmyers AcpiRsConvertResourceToAml ( 414186507a7Smyers ACPI_RESOURCE *Resource, 415186507a7Smyers AML_RESOURCE *Aml, 41630082d0cSmyers ACPI_RSCONVERT_INFO *Info); 4177c478bd9Sstevel@tonic-gate 418186507a7Smyers 419186507a7Smyers /* 420186507a7Smyers * rsutils 421186507a7Smyers */ 422186507a7Smyers void 423186507a7Smyers AcpiRsMoveData ( 424186507a7Smyers void *Destination, 425186507a7Smyers void *Source, 426186507a7Smyers UINT16 ItemCount, 427186507a7Smyers UINT8 MoveType); 428186507a7Smyers 42930082d0cSmyers UINT8 43030082d0cSmyers AcpiRsDecodeBitmask ( 43130082d0cSmyers UINT16 Mask, 43230082d0cSmyers UINT8 *List); 433186507a7Smyers 434186507a7Smyers UINT16 43530082d0cSmyers AcpiRsEncodeBitmask ( 43630082d0cSmyers UINT8 *List, 43730082d0cSmyers UINT8 Count); 43830082d0cSmyers 43930082d0cSmyers ACPI_RS_LENGTH 440186507a7Smyers AcpiRsGetResourceSource ( 44130082d0cSmyers ACPI_RS_LENGTH ResourceLength, 44230082d0cSmyers ACPI_RS_LENGTH MinimumLength, 443186507a7Smyers ACPI_RESOURCE_SOURCE *ResourceSource, 444186507a7Smyers AML_RESOURCE *Aml, 445186507a7Smyers char *StringPtr); 446186507a7Smyers 44730082d0cSmyers ACPI_RSDESC_SIZE 448186507a7Smyers AcpiRsSetResourceSource ( 449186507a7Smyers AML_RESOURCE *Aml, 45030082d0cSmyers ACPI_RS_LENGTH MinimumLength, 451186507a7Smyers ACPI_RESOURCE_SOURCE *ResourceSource); 4527c478bd9Sstevel@tonic-gate 453186507a7Smyers void 454186507a7Smyers AcpiRsSetResourceHeader ( 455186507a7Smyers UINT8 DescriptorType, 45630082d0cSmyers ACPI_RSDESC_SIZE TotalLength, 457186507a7Smyers AML_RESOURCE *Aml); 458186507a7Smyers 45930082d0cSmyers void 46030082d0cSmyers AcpiRsSetResourceLength ( 46130082d0cSmyers ACPI_RSDESC_SIZE TotalLength, 46230082d0cSmyers AML_RESOURCE *Aml); 463186507a7Smyers 464186507a7Smyers 465186507a7Smyers /* 4667b1019a6SJerry Jelinek * rsdump - Debugger support 467186507a7Smyers */ 4687b1019a6SJerry Jelinek #ifdef ACPI_DEBUGGER 469186507a7Smyers void 47030082d0cSmyers AcpiRsDumpResourceList ( 47130082d0cSmyers ACPI_RESOURCE *Resource); 472186507a7Smyers 473186507a7Smyers void 47430082d0cSmyers AcpiRsDumpIrqList ( 47530082d0cSmyers UINT8 *RouteTable); 4767b1019a6SJerry Jelinek #endif 477186507a7Smyers 478186507a7Smyers 47930082d0cSmyers /* 48030082d0cSmyers * Resource conversion tables 48130082d0cSmyers */ 48230082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertDma[]; 48330082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertEndDpf[]; 48430082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertIo[]; 48530082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedIo[]; 48630082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertEndTag[]; 48730082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory24[]; 48830082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertGenericReg[]; 48930082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory32[]; 49030082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedMemory32[]; 49130082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress32[]; 49230082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress16[]; 49330082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[]; 49430082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress64[]; 49530082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsConvertExtAddress64[]; 4967b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO AcpiRsConvertGpio[]; 4977b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedDma[]; 4987b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO AcpiRsConvertI2cSerialBus[]; 4997b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO AcpiRsConvertSpiSerialBus[]; 5007b1019a6SJerry Jelinek extern ACPI_RSCONVERT_INFO AcpiRsConvertUartSerialBus[]; 501*35786f68SRobert Mustacchi extern ACPI_RSCONVERT_INFO AcpiRsConvertPinFunction[]; 502*35786f68SRobert Mustacchi extern ACPI_RSCONVERT_INFO AcpiRsConvertPinConfig[]; 503*35786f68SRobert Mustacchi extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroup[]; 504*35786f68SRobert Mustacchi extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupFunction[]; 505*35786f68SRobert Mustacchi extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupConfig[]; 50630082d0cSmyers 50730082d0cSmyers /* These resources require separate get/set tables */ 50830082d0cSmyers 50930082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsGetIrq[]; 51030082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[]; 51130082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsGetVendorSmall[]; 51230082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsGetVendorLarge[]; 51330082d0cSmyers 51430082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsSetIrq[]; 51530082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[]; 51630082d0cSmyers extern ACPI_RSCONVERT_INFO AcpiRsSetVendor[]; 517186507a7Smyers 518186507a7Smyers 51930082d0cSmyers #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 52030082d0cSmyers /* 52130082d0cSmyers * rsinfo 52230082d0cSmyers */ 52330082d0cSmyers extern ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[]; 5247b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO *AcpiGbl_DumpSerialBusDispatch[]; 525186507a7Smyers 52630082d0cSmyers /* 5277b1019a6SJerry Jelinek * rsdumpinfo 52830082d0cSmyers */ 52930082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpIrq[]; 5307b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpPrt[]; 53130082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpDma[]; 53230082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[]; 53330082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpEndDpf[]; 53430082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpIo[]; 5357b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpIoFlags[]; 53630082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpFixedIo[]; 53730082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpVendor[]; 53830082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpEndTag[]; 53930082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpMemory24[]; 54030082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpMemory32[]; 5417b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpMemoryFlags[]; 54230082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpFixedMemory32[]; 54330082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpAddress16[]; 54430082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpAddress32[]; 54530082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpAddress64[]; 54630082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpExtAddress64[]; 54730082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[]; 54830082d0cSmyers extern ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[]; 5497b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpGpio[]; 550*35786f68SRobert Mustacchi extern ACPI_RSDUMP_INFO AcpiRsDumpPinFunction[]; 5517b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpFixedDma[]; 5527b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpCommonSerialBus[]; 5537b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpI2cSerialBus[]; 5547b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpSpiSerialBus[]; 5557b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpUartSerialBus[]; 5567b1019a6SJerry Jelinek extern ACPI_RSDUMP_INFO AcpiRsDumpGeneralFlags[]; 557*35786f68SRobert Mustacchi extern ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[]; 558*35786f68SRobert Mustacchi extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroup[]; 559*35786f68SRobert Mustacchi extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupFunction[]; 560*35786f68SRobert Mustacchi extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupConfig[]; 561186507a7Smyers #endif 562186507a7Smyers 5637c478bd9Sstevel@tonic-gate #endif /* __ACRESRC_H__ */ 564