17c478bd9Sstevel@tonic-gate /****************************************************************************** 27c478bd9Sstevel@tonic-gate * 3db2bae30SDana Myers * Name: acos2.h - OS/2 specific defines, etc. 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. 25*26f3cdf0SGordon Ross * 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. 29*26f3cdf0SGordon Ross * 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 44db2bae30SDana Myers #ifndef __ACOS2_H__ 45db2bae30SDana Myers #define __ACOS2_H__ 46db2bae30SDana Myers #define INCL_LONGLONG 47db2bae30SDana Myers #include <os2.h> 48db2bae30SDana Myers 49db2bae30SDana Myers 50db2bae30SDana Myers #define ACPI_MACHINE_WIDTH 32 51db2bae30SDana Myers 52db2bae30SDana Myers #define COMPILER_DEPENDENT_INT64 long long 53db2bae30SDana Myers #define COMPILER_DEPENDENT_UINT64 unsigned long long 54db2bae30SDana Myers #define ACPI_USE_NATIVE_DIVIDE 55db2bae30SDana Myers 56db2bae30SDana Myers #define ACPI_SYSTEM_XFACE APIENTRY 57db2bae30SDana Myers #define ACPI_EXTERNAL_XFACE APIENTRY 58db2bae30SDana Myers #define ACPI_INTERNAL_XFACE APIENTRY 59db2bae30SDana Myers #define ACPI_INTERNAL_VAR_XFACE APIENTRY 60db2bae30SDana Myers 61db2bae30SDana Myers /* 62db2bae30SDana Myers * Some compilers complain about unused variables. Sometimes we don't want to 63db2bae30SDana Myers * use all the variables (most specifically for _THIS_MODULE). This allow us 64db2bae30SDana Myers * to to tell the compiler warning in a per-variable manner that a variable 65db2bae30SDana Myers * is unused. 66db2bae30SDana Myers */ 67db2bae30SDana Myers #define ACPI_UNUSED_VAR 68db2bae30SDana Myers 69db2bae30SDana Myers #define ACPI_USE_STANDARD_HEADERS 70db2bae30SDana Myers #include <io.h> 71db2bae30SDana Myers 72db2bae30SDana Myers #define ACPI_FLUSH_CPU_CACHE() Wbinvd() 73db2bae30SDana Myers void Wbinvd(void); 74db2bae30SDana Myers 75db2bae30SDana Myers #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) Acq = OSPMAcquireGlobalLock(GLptr) 76db2bae30SDana Myers #define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pnd) Pnd = OSPMReleaseGlobalLock(GLptr) 77db2bae30SDana Myers unsigned short OSPMAcquireGlobalLock (void *); 78db2bae30SDana Myers unsigned short OSPMReleaseGlobalLock (void *); 79db2bae30SDana Myers 80db2bae30SDana Myers #define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ 81db2bae30SDana Myers { \ 82db2bae30SDana Myers unsigned long long val = 0LL; \ 83db2bae30SDana Myers val = n_lo | ( ((unsigned long long)h_hi) << 32 ); \ 84db2bae30SDana Myers __llrotr (val,1); \ 85db2bae30SDana Myers n_hi = (unsigned long)((val >> 32 ) & 0xffffffff ); \ 86db2bae30SDana Myers n_lo = (unsigned long)(val & 0xffffffff); \ 87db2bae30SDana Myers } 887c478bd9Sstevel@tonic-gate 89db2bae30SDana Myers #ifndef ACPI_ASL_COMPILER 90db2bae30SDana Myers #define ACPI_USE_LOCAL_CACHE 91db2bae30SDana Myers #undef ACPI_DEBUGGER 92db2bae30SDana Myers #endif 937c478bd9Sstevel@tonic-gate 94db2bae30SDana Myers #endif /* __ACOS2_H__ */ 95