17c478bd9Sstevel@tonic-gate /****************************************************************************** 27c478bd9Sstevel@tonic-gate * 37c478bd9Sstevel@tonic-gate * Name: acpiosxf.h - All interfaces to the OS Services Layer (OSL). These 47c478bd9Sstevel@tonic-gate * interfaces must be implemented by OSL to interface the 57c478bd9Sstevel@tonic-gate * ACPI components to the host operating system. 67c478bd9Sstevel@tonic-gate * 77c478bd9Sstevel@tonic-gate *****************************************************************************/ 87c478bd9Sstevel@tonic-gate 9*35786f68SRobert Mustacchi /****************************************************************************** 10*35786f68SRobert Mustacchi * 11*35786f68SRobert Mustacchi * 1. Copyright Notice 12*35786f68SRobert Mustacchi * 13*35786f68SRobert Mustacchi * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp. 147c478bd9Sstevel@tonic-gate * All rights reserved. 157c478bd9Sstevel@tonic-gate * 16*35786f68SRobert Mustacchi * 2. License 17*35786f68SRobert Mustacchi * 18*35786f68SRobert Mustacchi * 2.1. This is your license from Intel Corp. under its intellectual property 19*35786f68SRobert Mustacchi * rights. You may have additional license terms from the party that provided 20*35786f68SRobert Mustacchi * you this software, covering your right to use that party's intellectual 21*35786f68SRobert Mustacchi * property rights. 22*35786f68SRobert Mustacchi * 23*35786f68SRobert Mustacchi * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 24*35786f68SRobert Mustacchi * copy of the source code appearing in this file ("Covered Code") an 25*35786f68SRobert Mustacchi * irrevocable, perpetual, worldwide license under Intel's copyrights in the 26*35786f68SRobert Mustacchi * base code distributed originally by Intel ("Original Intel Code") to copy, 27*35786f68SRobert Mustacchi * make derivatives, distribute, use and display any portion of the Covered 28*35786f68SRobert Mustacchi * Code in any form, with the right to sublicense such rights; and 29*35786f68SRobert Mustacchi * 30*35786f68SRobert Mustacchi * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 31*35786f68SRobert Mustacchi * license (with the right to sublicense), under only those claims of Intel 32*35786f68SRobert Mustacchi * patents that are infringed by the Original Intel Code, to make, use, sell, 33*35786f68SRobert Mustacchi * offer to sell, and import the Covered Code and derivative works thereof 34*35786f68SRobert Mustacchi * solely to the minimum extent necessary to exercise the above copyright 35*35786f68SRobert Mustacchi * license, and in no event shall the patent license extend to any additions 36*35786f68SRobert Mustacchi * to or modifications of the Original Intel Code. No other license or right 37*35786f68SRobert Mustacchi * is granted directly or by implication, estoppel or otherwise; 38*35786f68SRobert Mustacchi * 39*35786f68SRobert Mustacchi * The above copyright and patent license is granted only if the following 40*35786f68SRobert Mustacchi * conditions are met: 41*35786f68SRobert Mustacchi * 42*35786f68SRobert Mustacchi * 3. Conditions 43*35786f68SRobert Mustacchi * 44*35786f68SRobert Mustacchi * 3.1. Redistribution of Source with Rights to Further Distribute Source. 45*35786f68SRobert Mustacchi * Redistribution of source code of any substantial portion of the Covered 46*35786f68SRobert Mustacchi * Code or modification with rights to further distribute source must include 47*35786f68SRobert Mustacchi * the above Copyright Notice, the above License, this list of Conditions, 48*35786f68SRobert Mustacchi * and the following Disclaimer and Export Compliance provision. In addition, 49*35786f68SRobert Mustacchi * Licensee must cause all Covered Code to which Licensee contributes to 50*35786f68SRobert Mustacchi * contain a file documenting the changes Licensee made to create that Covered 51*35786f68SRobert Mustacchi * Code and the date of any change. Licensee must include in that file the 52*35786f68SRobert Mustacchi * documentation of any changes made by any predecessor Licensee. Licensee 53*35786f68SRobert Mustacchi * must include a prominent statement that the modification is derived, 54*35786f68SRobert Mustacchi * directly or indirectly, from Original Intel Code. 55*35786f68SRobert Mustacchi * 56*35786f68SRobert Mustacchi * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 57*35786f68SRobert Mustacchi * Redistribution of source code of any substantial portion of the Covered 58*35786f68SRobert Mustacchi * Code or modification without rights to further distribute source must 59*35786f68SRobert Mustacchi * include the following Disclaimer and Export Compliance provision in the 60*35786f68SRobert Mustacchi * documentation and/or other materials provided with distribution. In 61*35786f68SRobert Mustacchi * addition, Licensee may not authorize further sublicense of source of any 62*35786f68SRobert Mustacchi * portion of the Covered Code, and must include terms to the effect that the 63*35786f68SRobert Mustacchi * license from Licensee to its licensee is limited to the intellectual 64*35786f68SRobert Mustacchi * property embodied in the software Licensee provides to its licensee, and 65*35786f68SRobert Mustacchi * not to intellectual property embodied in modifications its licensee may 66*35786f68SRobert Mustacchi * make. 67*35786f68SRobert Mustacchi * 68*35786f68SRobert Mustacchi * 3.3. Redistribution of Executable. Redistribution in executable form of any 69*35786f68SRobert Mustacchi * substantial portion of the Covered Code or modification must reproduce the 70*35786f68SRobert Mustacchi * above Copyright Notice, and the following Disclaimer and Export Compliance 71*35786f68SRobert Mustacchi * provision in the documentation and/or other materials provided with the 72*35786f68SRobert Mustacchi * distribution. 73*35786f68SRobert Mustacchi * 74*35786f68SRobert Mustacchi * 3.4. Intel retains all right, title, and interest in and to the Original 75*35786f68SRobert Mustacchi * Intel Code. 76*35786f68SRobert Mustacchi * 77*35786f68SRobert Mustacchi * 3.5. Neither the name Intel nor any other trademark owned or controlled by 78*35786f68SRobert Mustacchi * Intel shall be used in advertising or otherwise to promote the sale, use or 79*35786f68SRobert Mustacchi * other dealings in products derived from or relating to the Covered Code 80*35786f68SRobert Mustacchi * without prior written authorization from Intel. 81*35786f68SRobert Mustacchi * 82*35786f68SRobert Mustacchi * 4. Disclaimer and Export Compliance 83*35786f68SRobert Mustacchi * 84*35786f68SRobert Mustacchi * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 85*35786f68SRobert Mustacchi * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 86*35786f68SRobert Mustacchi * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 87*35786f68SRobert Mustacchi * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 88*35786f68SRobert Mustacchi * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 89*35786f68SRobert Mustacchi * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 90*35786f68SRobert Mustacchi * PARTICULAR PURPOSE. 91*35786f68SRobert Mustacchi * 92*35786f68SRobert Mustacchi * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 93*35786f68SRobert Mustacchi * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 94*35786f68SRobert Mustacchi * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 95*35786f68SRobert Mustacchi * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 96*35786f68SRobert Mustacchi * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 97*35786f68SRobert Mustacchi * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 98*35786f68SRobert Mustacchi * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 99*35786f68SRobert Mustacchi * LIMITED REMEDY. 100*35786f68SRobert Mustacchi * 101*35786f68SRobert Mustacchi * 4.3. Licensee shall not export, either directly or indirectly, any of this 102*35786f68SRobert Mustacchi * software or system incorporating such software without first obtaining any 103*35786f68SRobert Mustacchi * required license or other approval from the U. S. Department of Commerce or 104*35786f68SRobert Mustacchi * any other agency or department of the United States Government. In the 105*35786f68SRobert Mustacchi * event Licensee exports any such software from the United States or 106*35786f68SRobert Mustacchi * re-exports any such software from a foreign destination, Licensee shall 107*35786f68SRobert Mustacchi * ensure that the distribution and export/re-export of the software is in 108*35786f68SRobert Mustacchi * compliance with all laws, regulations, orders, or other restrictions of the 109*35786f68SRobert Mustacchi * U.S. Export Administration Regulations. Licensee agrees that neither it nor 110*35786f68SRobert Mustacchi * any of its subsidiaries will export/re-export any technical data, process, 111*35786f68SRobert Mustacchi * software, or service, directly or indirectly, to any country for which the 112*35786f68SRobert Mustacchi * United States government or any agency thereof requires an export license, 113*35786f68SRobert Mustacchi * other governmental approval, or letter of assurance, without first obtaining 114*35786f68SRobert Mustacchi * such license, approval or letter. 115*35786f68SRobert Mustacchi * 116*35786f68SRobert Mustacchi ***************************************************************************** 117*35786f68SRobert Mustacchi * 118*35786f68SRobert Mustacchi * Alternatively, you may choose to be licensed under the terms of the 119*35786f68SRobert Mustacchi * following license: 120*35786f68SRobert Mustacchi * 12126f3cdf0SGordon Ross * Redistribution and use in source and binary forms, with or without 12226f3cdf0SGordon Ross * modification, are permitted provided that the following conditions 12326f3cdf0SGordon Ross * are met: 12426f3cdf0SGordon Ross * 1. Redistributions of source code must retain the above copyright 12526f3cdf0SGordon Ross * notice, this list of conditions, and the following disclaimer, 12626f3cdf0SGordon Ross * without modification. 12726f3cdf0SGordon Ross * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12826f3cdf0SGordon Ross * substantially similar to the "NO WARRANTY" disclaimer below 12926f3cdf0SGordon Ross * ("Disclaimer") and any redistribution must be conditioned upon 13026f3cdf0SGordon Ross * including a substantially similar Disclaimer requirement for further 13126f3cdf0SGordon Ross * binary redistribution. 13226f3cdf0SGordon Ross * 3. Neither the names of the above-listed copyright holders nor the names 13326f3cdf0SGordon Ross * of any contributors may be used to endorse or promote products derived 13426f3cdf0SGordon Ross * from this software without specific prior written permission. 1357c478bd9Sstevel@tonic-gate * 136*35786f68SRobert Mustacchi * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 137*35786f68SRobert Mustacchi * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 138*35786f68SRobert Mustacchi * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 139*35786f68SRobert Mustacchi * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 140*35786f68SRobert Mustacchi * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 141*35786f68SRobert Mustacchi * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 142*35786f68SRobert Mustacchi * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 143*35786f68SRobert Mustacchi * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 144*35786f68SRobert Mustacchi * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 145*35786f68SRobert Mustacchi * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 146*35786f68SRobert Mustacchi * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 147*35786f68SRobert Mustacchi * 148*35786f68SRobert Mustacchi * Alternatively, you may choose to be licensed under the terms of the 14926f3cdf0SGordon Ross * GNU General Public License ("GPL") version 2 as published by the Free 15026f3cdf0SGordon Ross * Software Foundation. 1517c478bd9Sstevel@tonic-gate * 152*35786f68SRobert Mustacchi *****************************************************************************/ 1537c478bd9Sstevel@tonic-gate 1547c478bd9Sstevel@tonic-gate #ifndef __ACPIOSXF_H__ 1557c478bd9Sstevel@tonic-gate #define __ACPIOSXF_H__ 1567c478bd9Sstevel@tonic-gate 1577c478bd9Sstevel@tonic-gate #include "platform/acenv.h" 1587c478bd9Sstevel@tonic-gate #include "actypes.h" 1597c478bd9Sstevel@tonic-gate 1607c478bd9Sstevel@tonic-gate 16127f7c583Smyers /* Types for AcpiOsExecute */ 1627c478bd9Sstevel@tonic-gate 16327f7c583Smyers typedef enum 16427f7c583Smyers { 16527f7c583Smyers OSL_GLOBAL_LOCK_HANDLER, 16627f7c583Smyers OSL_NOTIFY_HANDLER, 16727f7c583Smyers OSL_GPE_HANDLER, 1687b1019a6SJerry Jelinek OSL_DEBUGGER_MAIN_THREAD, 1697b1019a6SJerry Jelinek OSL_DEBUGGER_EXEC_THREAD, 17027f7c583Smyers OSL_EC_POLL_HANDLER, 17127f7c583Smyers OSL_EC_BURST_HANDLER 17227f7c583Smyers 17327f7c583Smyers } ACPI_EXECUTE_TYPE; 1747c478bd9Sstevel@tonic-gate 1757c478bd9Sstevel@tonic-gate #define ACPI_NO_UNIT_LIMIT ((UINT32) -1) 1767c478bd9Sstevel@tonic-gate #define ACPI_MUTEX_SEM 1 1777c478bd9Sstevel@tonic-gate 1787c478bd9Sstevel@tonic-gate 1797c478bd9Sstevel@tonic-gate /* Functions for AcpiOsSignal */ 1807c478bd9Sstevel@tonic-gate 1817c478bd9Sstevel@tonic-gate #define ACPI_SIGNAL_FATAL 0 1827c478bd9Sstevel@tonic-gate #define ACPI_SIGNAL_BREAKPOINT 1 1837c478bd9Sstevel@tonic-gate 1847c478bd9Sstevel@tonic-gate typedef struct acpi_signal_fatal_info 1857c478bd9Sstevel@tonic-gate { 1867c478bd9Sstevel@tonic-gate UINT32 Type; 1877c478bd9Sstevel@tonic-gate UINT32 Code; 1887c478bd9Sstevel@tonic-gate UINT32 Argument; 1897c478bd9Sstevel@tonic-gate 1907c478bd9Sstevel@tonic-gate } ACPI_SIGNAL_FATAL_INFO; 1917c478bd9Sstevel@tonic-gate 1927c478bd9Sstevel@tonic-gate 1937c478bd9Sstevel@tonic-gate /* 1947c478bd9Sstevel@tonic-gate * OSL Initialization and shutdown primitives 1957c478bd9Sstevel@tonic-gate */ 1967b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitialize 1977c478bd9Sstevel@tonic-gate ACPI_STATUS 1987c478bd9Sstevel@tonic-gate AcpiOsInitialize ( 1997c478bd9Sstevel@tonic-gate void); 2007b1019a6SJerry Jelinek #endif 2017c478bd9Sstevel@tonic-gate 2027b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminate 2037c478bd9Sstevel@tonic-gate ACPI_STATUS 2047c478bd9Sstevel@tonic-gate AcpiOsTerminate ( 2057c478bd9Sstevel@tonic-gate void); 2067b1019a6SJerry Jelinek #endif 2077c478bd9Sstevel@tonic-gate 2087c478bd9Sstevel@tonic-gate 2097c478bd9Sstevel@tonic-gate /* 2107c478bd9Sstevel@tonic-gate * ACPI Table interfaces 2117c478bd9Sstevel@tonic-gate */ 2127b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetRootPointer 213db2bae30SDana Myers ACPI_PHYSICAL_ADDRESS 2147c478bd9Sstevel@tonic-gate AcpiOsGetRootPointer ( 215db2bae30SDana Myers void); 2167b1019a6SJerry Jelinek #endif 2177c478bd9Sstevel@tonic-gate 2187b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPredefinedOverride 2197c478bd9Sstevel@tonic-gate ACPI_STATUS 2207c478bd9Sstevel@tonic-gate AcpiOsPredefinedOverride ( 2217c478bd9Sstevel@tonic-gate const ACPI_PREDEFINED_NAMES *InitVal, 2227c478bd9Sstevel@tonic-gate ACPI_STRING *NewVal); 2237b1019a6SJerry Jelinek #endif 2247c478bd9Sstevel@tonic-gate 2257b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTableOverride 2267c478bd9Sstevel@tonic-gate ACPI_STATUS 2277c478bd9Sstevel@tonic-gate AcpiOsTableOverride ( 2287c478bd9Sstevel@tonic-gate ACPI_TABLE_HEADER *ExistingTable, 2297c478bd9Sstevel@tonic-gate ACPI_TABLE_HEADER **NewTable); 2307b1019a6SJerry Jelinek #endif 2317b1019a6SJerry Jelinek 2327b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPhysicalTableOverride 2337b1019a6SJerry Jelinek ACPI_STATUS 2347b1019a6SJerry Jelinek AcpiOsPhysicalTableOverride ( 2357b1019a6SJerry Jelinek ACPI_TABLE_HEADER *ExistingTable, 2367b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS *NewAddress, 2377b1019a6SJerry Jelinek UINT32 *NewTableLength); 2387b1019a6SJerry Jelinek #endif 2397c478bd9Sstevel@tonic-gate 2407c478bd9Sstevel@tonic-gate 2417c478bd9Sstevel@tonic-gate /* 24227f7c583Smyers * Spinlock primitives 24327f7c583Smyers */ 2447b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateLock 24527f7c583Smyers ACPI_STATUS 24627f7c583Smyers AcpiOsCreateLock ( 24727f7c583Smyers ACPI_SPINLOCK *OutHandle); 2487b1019a6SJerry Jelinek #endif 24927f7c583Smyers 2507b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteLock 25127f7c583Smyers void 25227f7c583Smyers AcpiOsDeleteLock ( 25327f7c583Smyers ACPI_SPINLOCK Handle); 2547b1019a6SJerry Jelinek #endif 25527f7c583Smyers 2567b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireLock 25727f7c583Smyers ACPI_CPU_FLAGS 25827f7c583Smyers AcpiOsAcquireLock ( 25927f7c583Smyers ACPI_SPINLOCK Handle); 2607b1019a6SJerry Jelinek #endif 26127f7c583Smyers 2627b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseLock 26327f7c583Smyers void 26427f7c583Smyers AcpiOsReleaseLock ( 26527f7c583Smyers ACPI_SPINLOCK Handle, 26627f7c583Smyers ACPI_CPU_FLAGS Flags); 2677b1019a6SJerry Jelinek #endif 26827f7c583Smyers 26927f7c583Smyers 27027f7c583Smyers /* 27127f7c583Smyers * Semaphore primitives 2727c478bd9Sstevel@tonic-gate */ 2737b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateSemaphore 2747c478bd9Sstevel@tonic-gate ACPI_STATUS 2757c478bd9Sstevel@tonic-gate AcpiOsCreateSemaphore ( 2767c478bd9Sstevel@tonic-gate UINT32 MaxUnits, 2777c478bd9Sstevel@tonic-gate UINT32 InitialUnits, 27827f7c583Smyers ACPI_SEMAPHORE *OutHandle); 2797b1019a6SJerry Jelinek #endif 2807c478bd9Sstevel@tonic-gate 2817b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteSemaphore 2827c478bd9Sstevel@tonic-gate ACPI_STATUS 2837c478bd9Sstevel@tonic-gate AcpiOsDeleteSemaphore ( 28427f7c583Smyers ACPI_SEMAPHORE Handle); 2857b1019a6SJerry Jelinek #endif 2867c478bd9Sstevel@tonic-gate 2877b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitSemaphore 2887c478bd9Sstevel@tonic-gate ACPI_STATUS 2897c478bd9Sstevel@tonic-gate AcpiOsWaitSemaphore ( 29027f7c583Smyers ACPI_SEMAPHORE Handle, 2917c478bd9Sstevel@tonic-gate UINT32 Units, 2927c478bd9Sstevel@tonic-gate UINT16 Timeout); 2937b1019a6SJerry Jelinek #endif 2947c478bd9Sstevel@tonic-gate 2957b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignalSemaphore 2967c478bd9Sstevel@tonic-gate ACPI_STATUS 2977c478bd9Sstevel@tonic-gate AcpiOsSignalSemaphore ( 29827f7c583Smyers ACPI_SEMAPHORE Handle, 2997c478bd9Sstevel@tonic-gate UINT32 Units); 3007b1019a6SJerry Jelinek #endif 3017c478bd9Sstevel@tonic-gate 30227f7c583Smyers 30327f7c583Smyers /* 304aa2aa9a6SDana Myers * Mutex primitives. May be configured to use semaphores instead via 305aa2aa9a6SDana Myers * ACPI_MUTEX_TYPE (see platform/acenv.h) 30627f7c583Smyers */ 307aa2aa9a6SDana Myers #if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE) 308aa2aa9a6SDana Myers 3097b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateMutex 3107c478bd9Sstevel@tonic-gate ACPI_STATUS 31127f7c583Smyers AcpiOsCreateMutex ( 31227f7c583Smyers ACPI_MUTEX *OutHandle); 3137b1019a6SJerry Jelinek #endif 3147c478bd9Sstevel@tonic-gate 3157b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteMutex 3167c478bd9Sstevel@tonic-gate void 31727f7c583Smyers AcpiOsDeleteMutex ( 31827f7c583Smyers ACPI_MUTEX Handle); 3197b1019a6SJerry Jelinek #endif 3207c478bd9Sstevel@tonic-gate 3217b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireMutex 32227f7c583Smyers ACPI_STATUS 32327f7c583Smyers AcpiOsAcquireMutex ( 32427f7c583Smyers ACPI_MUTEX Handle, 32527f7c583Smyers UINT16 Timeout); 3267b1019a6SJerry Jelinek #endif 3277c478bd9Sstevel@tonic-gate 3287b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseMutex 3297c478bd9Sstevel@tonic-gate void 33027f7c583Smyers AcpiOsReleaseMutex ( 33127f7c583Smyers ACPI_MUTEX Handle); 332aa2aa9a6SDana Myers #endif 3337c478bd9Sstevel@tonic-gate 3347b1019a6SJerry Jelinek #endif 3357b1019a6SJerry Jelinek 3367c478bd9Sstevel@tonic-gate 3377c478bd9Sstevel@tonic-gate /* 3387c478bd9Sstevel@tonic-gate * Memory allocation and mapping 3397c478bd9Sstevel@tonic-gate */ 3407b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocate 3417c478bd9Sstevel@tonic-gate void * 3427c478bd9Sstevel@tonic-gate AcpiOsAllocate ( 3437c478bd9Sstevel@tonic-gate ACPI_SIZE Size); 3447b1019a6SJerry Jelinek #endif 3457c478bd9Sstevel@tonic-gate 3467b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocateZeroed 3477b1019a6SJerry Jelinek void * 3487b1019a6SJerry Jelinek AcpiOsAllocateZeroed ( 3497b1019a6SJerry Jelinek ACPI_SIZE Size); 3507b1019a6SJerry Jelinek #endif 3517b1019a6SJerry Jelinek 3527b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsFree 3537c478bd9Sstevel@tonic-gate void 3547c478bd9Sstevel@tonic-gate AcpiOsFree ( 3557c478bd9Sstevel@tonic-gate void * Memory); 3567b1019a6SJerry Jelinek #endif 3577c478bd9Sstevel@tonic-gate 3587b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsMapMemory 359db2bae30SDana Myers void * 3607c478bd9Sstevel@tonic-gate AcpiOsMapMemory ( 361db2bae30SDana Myers ACPI_PHYSICAL_ADDRESS Where, 362db2bae30SDana Myers ACPI_SIZE Length); 3637b1019a6SJerry Jelinek #endif 3647c478bd9Sstevel@tonic-gate 3657b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsUnmapMemory 3667c478bd9Sstevel@tonic-gate void 3677c478bd9Sstevel@tonic-gate AcpiOsUnmapMemory ( 3687c478bd9Sstevel@tonic-gate void *LogicalAddress, 3697c478bd9Sstevel@tonic-gate ACPI_SIZE Size); 3707b1019a6SJerry Jelinek #endif 3717c478bd9Sstevel@tonic-gate 3727b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetPhysicalAddress 3737c478bd9Sstevel@tonic-gate ACPI_STATUS 3747c478bd9Sstevel@tonic-gate AcpiOsGetPhysicalAddress ( 3757c478bd9Sstevel@tonic-gate void *LogicalAddress, 3767c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS *PhysicalAddress); 3777b1019a6SJerry Jelinek #endif 3787c478bd9Sstevel@tonic-gate 3797c478bd9Sstevel@tonic-gate 3807c478bd9Sstevel@tonic-gate /* 381450d6964Smyers * Memory/Object Cache 382450d6964Smyers */ 3837b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateCache 384450d6964Smyers ACPI_STATUS 385450d6964Smyers AcpiOsCreateCache ( 386450d6964Smyers char *CacheName, 387450d6964Smyers UINT16 ObjectSize, 388450d6964Smyers UINT16 MaxDepth, 389450d6964Smyers ACPI_CACHE_T **ReturnCache); 3907b1019a6SJerry Jelinek #endif 391450d6964Smyers 3927b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteCache 393450d6964Smyers ACPI_STATUS 394450d6964Smyers AcpiOsDeleteCache ( 395450d6964Smyers ACPI_CACHE_T *Cache); 3967b1019a6SJerry Jelinek #endif 397450d6964Smyers 3987b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPurgeCache 399450d6964Smyers ACPI_STATUS 400450d6964Smyers AcpiOsPurgeCache ( 401450d6964Smyers ACPI_CACHE_T *Cache); 4027b1019a6SJerry Jelinek #endif 403450d6964Smyers 4047b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireObject 405450d6964Smyers void * 406450d6964Smyers AcpiOsAcquireObject ( 407450d6964Smyers ACPI_CACHE_T *Cache); 4087b1019a6SJerry Jelinek #endif 409450d6964Smyers 4107b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseObject 411450d6964Smyers ACPI_STATUS 412450d6964Smyers AcpiOsReleaseObject ( 413450d6964Smyers ACPI_CACHE_T *Cache, 414450d6964Smyers void *Object); 4157b1019a6SJerry Jelinek #endif 416450d6964Smyers 417450d6964Smyers 418450d6964Smyers /* 4197c478bd9Sstevel@tonic-gate * Interrupt handlers 4207c478bd9Sstevel@tonic-gate */ 4217b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInstallInterruptHandler 4227c478bd9Sstevel@tonic-gate ACPI_STATUS 4237c478bd9Sstevel@tonic-gate AcpiOsInstallInterruptHandler ( 4247c478bd9Sstevel@tonic-gate UINT32 InterruptNumber, 4257c478bd9Sstevel@tonic-gate ACPI_OSD_HANDLER ServiceRoutine, 4267c478bd9Sstevel@tonic-gate void *Context); 4277b1019a6SJerry Jelinek #endif 4287c478bd9Sstevel@tonic-gate 4297b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRemoveInterruptHandler 4307c478bd9Sstevel@tonic-gate ACPI_STATUS 4317c478bd9Sstevel@tonic-gate AcpiOsRemoveInterruptHandler ( 4327c478bd9Sstevel@tonic-gate UINT32 InterruptNumber, 4337c478bd9Sstevel@tonic-gate ACPI_OSD_HANDLER ServiceRoutine); 4347b1019a6SJerry Jelinek #endif 4357c478bd9Sstevel@tonic-gate 4367c478bd9Sstevel@tonic-gate 4377c478bd9Sstevel@tonic-gate /* 4387c478bd9Sstevel@tonic-gate * Threads and Scheduling 4397c478bd9Sstevel@tonic-gate */ 4407b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetThreadId 44127f7c583Smyers ACPI_THREAD_ID 4427c478bd9Sstevel@tonic-gate AcpiOsGetThreadId ( 4437c478bd9Sstevel@tonic-gate void); 4447b1019a6SJerry Jelinek #endif 4457c478bd9Sstevel@tonic-gate 4467b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsExecute 4477c478bd9Sstevel@tonic-gate ACPI_STATUS 44827f7c583Smyers AcpiOsExecute ( 44927f7c583Smyers ACPI_EXECUTE_TYPE Type, 4507c478bd9Sstevel@tonic-gate ACPI_OSD_EXEC_CALLBACK Function, 4517c478bd9Sstevel@tonic-gate void *Context); 4527b1019a6SJerry Jelinek #endif 4537c478bd9Sstevel@tonic-gate 4547b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitEventsComplete 4557c478bd9Sstevel@tonic-gate void 4567c478bd9Sstevel@tonic-gate AcpiOsWaitEventsComplete ( 4577b1019a6SJerry Jelinek void); 4587b1019a6SJerry Jelinek #endif 4597c478bd9Sstevel@tonic-gate 4607b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSleep 4617c478bd9Sstevel@tonic-gate void 4627c478bd9Sstevel@tonic-gate AcpiOsSleep ( 46326f3cdf0SGordon Ross UINT64 Milliseconds); 4647b1019a6SJerry Jelinek #endif 4657c478bd9Sstevel@tonic-gate 4667b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsStall 4677c478bd9Sstevel@tonic-gate void 4687c478bd9Sstevel@tonic-gate AcpiOsStall ( 4697c478bd9Sstevel@tonic-gate UINT32 Microseconds); 4707b1019a6SJerry Jelinek #endif 4717c478bd9Sstevel@tonic-gate 4727c478bd9Sstevel@tonic-gate 4737c478bd9Sstevel@tonic-gate /* 4747c478bd9Sstevel@tonic-gate * Platform and hardware-independent I/O interfaces 4757c478bd9Sstevel@tonic-gate */ 4767b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPort 4777c478bd9Sstevel@tonic-gate ACPI_STATUS 4787c478bd9Sstevel@tonic-gate AcpiOsReadPort ( 4797c478bd9Sstevel@tonic-gate ACPI_IO_ADDRESS Address, 4807c478bd9Sstevel@tonic-gate UINT32 *Value, 4817c478bd9Sstevel@tonic-gate UINT32 Width); 4827b1019a6SJerry Jelinek #endif 4837c478bd9Sstevel@tonic-gate 4847b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePort 4857c478bd9Sstevel@tonic-gate ACPI_STATUS 4867c478bd9Sstevel@tonic-gate AcpiOsWritePort ( 4877c478bd9Sstevel@tonic-gate ACPI_IO_ADDRESS Address, 4887c478bd9Sstevel@tonic-gate UINT32 Value, 4897c478bd9Sstevel@tonic-gate UINT32 Width); 4907b1019a6SJerry Jelinek #endif 4917c478bd9Sstevel@tonic-gate 4927c478bd9Sstevel@tonic-gate 4937c478bd9Sstevel@tonic-gate /* 4947c478bd9Sstevel@tonic-gate * Platform and hardware-independent physical memory interfaces 4957c478bd9Sstevel@tonic-gate */ 4967b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadMemory 4977c478bd9Sstevel@tonic-gate ACPI_STATUS 4987c478bd9Sstevel@tonic-gate AcpiOsReadMemory ( 4997c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS Address, 5007b1019a6SJerry Jelinek UINT64 *Value, 5017c478bd9Sstevel@tonic-gate UINT32 Width); 5027b1019a6SJerry Jelinek #endif 5037c478bd9Sstevel@tonic-gate 5047b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWriteMemory 5057c478bd9Sstevel@tonic-gate ACPI_STATUS 5067c478bd9Sstevel@tonic-gate AcpiOsWriteMemory ( 5077c478bd9Sstevel@tonic-gate ACPI_PHYSICAL_ADDRESS Address, 5087b1019a6SJerry Jelinek UINT64 Value, 5097c478bd9Sstevel@tonic-gate UINT32 Width); 5107b1019a6SJerry Jelinek #endif 5117c478bd9Sstevel@tonic-gate 5127c478bd9Sstevel@tonic-gate 5137c478bd9Sstevel@tonic-gate /* 5147c478bd9Sstevel@tonic-gate * Platform and hardware-independent PCI configuration space access 5157c478bd9Sstevel@tonic-gate * Note: Can't use "Register" as a parameter, changed to "Reg" -- 5167c478bd9Sstevel@tonic-gate * certain compilers complain. 5177c478bd9Sstevel@tonic-gate */ 5187b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPciConfiguration 5197c478bd9Sstevel@tonic-gate ACPI_STATUS 5207c478bd9Sstevel@tonic-gate AcpiOsReadPciConfiguration ( 5217c478bd9Sstevel@tonic-gate ACPI_PCI_ID *PciId, 5227c478bd9Sstevel@tonic-gate UINT32 Reg, 52326f3cdf0SGordon Ross UINT64 *Value, 5247c478bd9Sstevel@tonic-gate UINT32 Width); 5257b1019a6SJerry Jelinek #endif 5267c478bd9Sstevel@tonic-gate 5277b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePciConfiguration 5287c478bd9Sstevel@tonic-gate ACPI_STATUS 5297c478bd9Sstevel@tonic-gate AcpiOsWritePciConfiguration ( 5307c478bd9Sstevel@tonic-gate ACPI_PCI_ID *PciId, 5317c478bd9Sstevel@tonic-gate UINT32 Reg, 53226f3cdf0SGordon Ross UINT64 Value, 5337c478bd9Sstevel@tonic-gate UINT32 Width); 5347b1019a6SJerry Jelinek #endif 5357c478bd9Sstevel@tonic-gate 53627f7c583Smyers 5377c478bd9Sstevel@tonic-gate /* 5387c478bd9Sstevel@tonic-gate * Miscellaneous 5397c478bd9Sstevel@tonic-gate */ 5407b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadable 5417c478bd9Sstevel@tonic-gate BOOLEAN 5427c478bd9Sstevel@tonic-gate AcpiOsReadable ( 5437c478bd9Sstevel@tonic-gate void *Pointer, 5447c478bd9Sstevel@tonic-gate ACPI_SIZE Length); 5457b1019a6SJerry Jelinek #endif 5467c478bd9Sstevel@tonic-gate 5477b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritable 5487c478bd9Sstevel@tonic-gate BOOLEAN 5497c478bd9Sstevel@tonic-gate AcpiOsWritable ( 5507c478bd9Sstevel@tonic-gate void *Pointer, 5517c478bd9Sstevel@tonic-gate ACPI_SIZE Length); 5527b1019a6SJerry Jelinek #endif 5537c478bd9Sstevel@tonic-gate 5547b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTimer 5557c478bd9Sstevel@tonic-gate UINT64 5567c478bd9Sstevel@tonic-gate AcpiOsGetTimer ( 5577c478bd9Sstevel@tonic-gate void); 5587b1019a6SJerry Jelinek #endif 5597c478bd9Sstevel@tonic-gate 5607b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignal 5617c478bd9Sstevel@tonic-gate ACPI_STATUS 5627c478bd9Sstevel@tonic-gate AcpiOsSignal ( 5637c478bd9Sstevel@tonic-gate UINT32 Function, 5647c478bd9Sstevel@tonic-gate void *Info); 5657b1019a6SJerry Jelinek #endif 5667c478bd9Sstevel@tonic-gate 567*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsEnterSleep 568*35786f68SRobert Mustacchi ACPI_STATUS 569*35786f68SRobert Mustacchi AcpiOsEnterSleep ( 570*35786f68SRobert Mustacchi UINT8 SleepState, 571*35786f68SRobert Mustacchi UINT32 RegaValue, 572*35786f68SRobert Mustacchi UINT32 RegbValue); 573*35786f68SRobert Mustacchi #endif 574*35786f68SRobert Mustacchi 57527f7c583Smyers 5767c478bd9Sstevel@tonic-gate /* 5777c478bd9Sstevel@tonic-gate * Debug print routines 5787c478bd9Sstevel@tonic-gate */ 5797b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPrintf 5807c478bd9Sstevel@tonic-gate void ACPI_INTERNAL_VAR_XFACE 5817c478bd9Sstevel@tonic-gate AcpiOsPrintf ( 5827c478bd9Sstevel@tonic-gate const char *Format, 5837c478bd9Sstevel@tonic-gate ...); 5847b1019a6SJerry Jelinek #endif 5857c478bd9Sstevel@tonic-gate 5867b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsVprintf 5877c478bd9Sstevel@tonic-gate void 5887c478bd9Sstevel@tonic-gate AcpiOsVprintf ( 5897c478bd9Sstevel@tonic-gate const char *Format, 5907c478bd9Sstevel@tonic-gate va_list Args); 5917b1019a6SJerry Jelinek #endif 5927c478bd9Sstevel@tonic-gate 5937b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRedirectOutput 5947c478bd9Sstevel@tonic-gate void 5957c478bd9Sstevel@tonic-gate AcpiOsRedirectOutput ( 5967c478bd9Sstevel@tonic-gate void *Destination); 5977b1019a6SJerry Jelinek #endif 5987c478bd9Sstevel@tonic-gate 5997c478bd9Sstevel@tonic-gate 6007c478bd9Sstevel@tonic-gate /* 601*35786f68SRobert Mustacchi * Debug IO 6027c478bd9Sstevel@tonic-gate */ 6037b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetLine 60426f3cdf0SGordon Ross ACPI_STATUS 6057c478bd9Sstevel@tonic-gate AcpiOsGetLine ( 60626f3cdf0SGordon Ross char *Buffer, 60726f3cdf0SGordon Ross UINT32 BufferLength, 60826f3cdf0SGordon Ross UINT32 *BytesRead); 6097b1019a6SJerry Jelinek #endif 6107b1019a6SJerry Jelinek 611*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitializeDebugger 612*35786f68SRobert Mustacchi ACPI_STATUS 613*35786f68SRobert Mustacchi AcpiOsInitializeDebugger ( 614*35786f68SRobert Mustacchi void); 615*35786f68SRobert Mustacchi #endif 616*35786f68SRobert Mustacchi 617*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminateDebugger 618*35786f68SRobert Mustacchi void 619*35786f68SRobert Mustacchi AcpiOsTerminateDebugger ( 620*35786f68SRobert Mustacchi void); 621*35786f68SRobert Mustacchi #endif 622*35786f68SRobert Mustacchi 623*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitCommandReady 624*35786f68SRobert Mustacchi ACPI_STATUS 625*35786f68SRobert Mustacchi AcpiOsWaitCommandReady ( 626*35786f68SRobert Mustacchi void); 627*35786f68SRobert Mustacchi #endif 628*35786f68SRobert Mustacchi 629*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsNotifyCommandComplete 630*35786f68SRobert Mustacchi ACPI_STATUS 631*35786f68SRobert Mustacchi AcpiOsNotifyCommandComplete ( 632*35786f68SRobert Mustacchi void); 633*35786f68SRobert Mustacchi #endif 634*35786f68SRobert Mustacchi 635*35786f68SRobert Mustacchi #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTracePoint 636*35786f68SRobert Mustacchi void 637*35786f68SRobert Mustacchi AcpiOsTracePoint ( 638*35786f68SRobert Mustacchi ACPI_TRACE_EVENT_TYPE Type, 639*35786f68SRobert Mustacchi BOOLEAN Begin, 640*35786f68SRobert Mustacchi UINT8 *Aml, 641*35786f68SRobert Mustacchi char *Pathname); 642*35786f68SRobert Mustacchi #endif 643*35786f68SRobert Mustacchi 6447b1019a6SJerry Jelinek 6457b1019a6SJerry Jelinek /* 6467b1019a6SJerry Jelinek * Obtain ACPI table(s) 6477b1019a6SJerry Jelinek */ 6487b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByName 6497b1019a6SJerry Jelinek ACPI_STATUS 6507b1019a6SJerry Jelinek AcpiOsGetTableByName ( 6517b1019a6SJerry Jelinek char *Signature, 6527b1019a6SJerry Jelinek UINT32 Instance, 6537b1019a6SJerry Jelinek ACPI_TABLE_HEADER **Table, 6547b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS *Address); 6557b1019a6SJerry Jelinek #endif 6567b1019a6SJerry Jelinek 6577b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByIndex 6587b1019a6SJerry Jelinek ACPI_STATUS 6597b1019a6SJerry Jelinek AcpiOsGetTableByIndex ( 6607b1019a6SJerry Jelinek UINT32 Index, 6617b1019a6SJerry Jelinek ACPI_TABLE_HEADER **Table, 6627b1019a6SJerry Jelinek UINT32 *Instance, 6637b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS *Address); 6647b1019a6SJerry Jelinek #endif 6657b1019a6SJerry Jelinek 6667b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByAddress 6677b1019a6SJerry Jelinek ACPI_STATUS 6687b1019a6SJerry Jelinek AcpiOsGetTableByAddress ( 6697b1019a6SJerry Jelinek ACPI_PHYSICAL_ADDRESS Address, 6707b1019a6SJerry Jelinek ACPI_TABLE_HEADER **Table); 6717b1019a6SJerry Jelinek #endif 6727c478bd9Sstevel@tonic-gate 6737c478bd9Sstevel@tonic-gate 6747c478bd9Sstevel@tonic-gate /* 6757c478bd9Sstevel@tonic-gate * Directory manipulation 6767c478bd9Sstevel@tonic-gate */ 6777b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsOpenDirectory 6787c478bd9Sstevel@tonic-gate void * 6797c478bd9Sstevel@tonic-gate AcpiOsOpenDirectory ( 6807c478bd9Sstevel@tonic-gate char *Pathname, 6817c478bd9Sstevel@tonic-gate char *WildcardSpec, 6827c478bd9Sstevel@tonic-gate char RequestedFileType); 6837b1019a6SJerry Jelinek #endif 6847c478bd9Sstevel@tonic-gate 6857c478bd9Sstevel@tonic-gate /* RequesteFileType values */ 6867c478bd9Sstevel@tonic-gate 6877c478bd9Sstevel@tonic-gate #define REQUEST_FILE_ONLY 0 6887c478bd9Sstevel@tonic-gate #define REQUEST_DIR_ONLY 1 6897c478bd9Sstevel@tonic-gate 6907c478bd9Sstevel@tonic-gate 6917b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename 6927c478bd9Sstevel@tonic-gate char * 6937c478bd9Sstevel@tonic-gate AcpiOsGetNextFilename ( 6947c478bd9Sstevel@tonic-gate void *DirHandle); 6957b1019a6SJerry Jelinek #endif 6967c478bd9Sstevel@tonic-gate 6977b1019a6SJerry Jelinek #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory 6987c478bd9Sstevel@tonic-gate void 6997c478bd9Sstevel@tonic-gate AcpiOsCloseDirectory ( 7007c478bd9Sstevel@tonic-gate void *DirHandle); 7017b1019a6SJerry Jelinek #endif 7027b1019a6SJerry Jelinek 7037b1019a6SJerry Jelinek 7047c478bd9Sstevel@tonic-gate #endif /* __ACPIOSXF_H__ */ 705