1aa2aa9a6SDana Myers /****************************************************************************** 2aa2aa9a6SDana Myers * 3aa2aa9a6SDana Myers * Name: accygwin.h - OS specific defines, etc. for cygwin environment 4aa2aa9a6SDana Myers * 5aa2aa9a6SDana Myers *****************************************************************************/ 6aa2aa9a6SDana Myers 7*26f3cdf0SGordon Ross /* 8*26f3cdf0SGordon Ross * Copyright (C) 2000 - 2011, Intel Corp. 9aa2aa9a6SDana Myers * All rights reserved. 10aa2aa9a6SDana Myers * 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 */ 43aa2aa9a6SDana Myers 44aa2aa9a6SDana Myers #ifndef __ACCYGWIN_H__ 45aa2aa9a6SDana Myers #define __ACCYGWIN_H__ 46aa2aa9a6SDana Myers 47aa2aa9a6SDana Myers /* 48aa2aa9a6SDana Myers * ACPICA configuration 49aa2aa9a6SDana Myers */ 50aa2aa9a6SDana Myers #define ACPI_USE_SYSTEM_CLIBRARY 51aa2aa9a6SDana Myers #define ACPI_USE_DO_WHILE_0 52aa2aa9a6SDana Myers #define ACPI_FLUSH_CPU_CACHE() 53aa2aa9a6SDana Myers /* 54aa2aa9a6SDana Myers * This is needed since sem_timedwait does not appear to work properly 55aa2aa9a6SDana Myers * on cygwin (always hangs forever). 56aa2aa9a6SDana Myers */ 57aa2aa9a6SDana Myers #define ACPI_USE_ALTERNATE_TIMEOUT 58aa2aa9a6SDana Myers 59aa2aa9a6SDana Myers 60aa2aa9a6SDana Myers #include <stdarg.h> 61aa2aa9a6SDana Myers #include <string.h> 62aa2aa9a6SDana Myers #include <stdlib.h> 63aa2aa9a6SDana Myers #include <ctype.h> 64aa2aa9a6SDana Myers #include <unistd.h> 65aa2aa9a6SDana Myers 66aa2aa9a6SDana Myers #if defined(__ia64__) || defined(__x86_64__) 67aa2aa9a6SDana Myers #define ACPI_MACHINE_WIDTH 64 68aa2aa9a6SDana Myers #define COMPILER_DEPENDENT_INT64 long 69aa2aa9a6SDana Myers #define COMPILER_DEPENDENT_UINT64 unsigned long 70aa2aa9a6SDana Myers #else 71aa2aa9a6SDana Myers #define ACPI_MACHINE_WIDTH 32 72aa2aa9a6SDana Myers #define COMPILER_DEPENDENT_INT64 long long 73aa2aa9a6SDana Myers #define COMPILER_DEPENDENT_UINT64 unsigned long long 74aa2aa9a6SDana Myers #define ACPI_USE_NATIVE_DIVIDE 75aa2aa9a6SDana Myers #endif 76aa2aa9a6SDana Myers 77aa2aa9a6SDana Myers #ifndef __cdecl 78aa2aa9a6SDana Myers #define __cdecl 79aa2aa9a6SDana Myers #endif 80aa2aa9a6SDana Myers 81*26f3cdf0SGordon Ross #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) if (GLptr) Acq=1; else Acq=0; 82*26f3cdf0SGordon Ross #define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pending) Pending = 1 83*26f3cdf0SGordon Ross 84*26f3cdf0SGordon Ross /* On Cygwin, pthread_t is a pointer */ 85aa2aa9a6SDana Myers 86*26f3cdf0SGordon Ross #define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (pthread)) 87aa2aa9a6SDana Myers 88aa2aa9a6SDana Myers /* Cygwin uses GCC */ 89aa2aa9a6SDana Myers 90aa2aa9a6SDana Myers #include "acgcc.h" 91aa2aa9a6SDana Myers 92aa2aa9a6SDana Myers #endif /* __ACCYGWIN_H__ */ 93