/******************************************************************************* *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. * *Redistribution and use in source and binary forms, with or without modification, are permitted provided *that the following conditions are met: *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the *following disclaimer. *2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation and/or other materials provided *with the distribution. * *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE * * $FreeBSD$ * *******************************************************************************/ /*************************************************************************** Version Control Information: $RCSfile: osenv.h,v $ $Revision: 114125 $ Note: This file defines the working enviornment of the system. All defines listed in this file could also be compiler flags. I am listing all the defines (even if used as a compiler flag) so that they can be seen and documented. ***************************************************************************/ #ifndef __OSENV_H__ #define __OSENV_H__ #include /* ** Define the protocols to compile with. Currently, these defines are ** only for this header file and are used further down to define the protocol ** specific enviornment: ** ** #define AG_PROTOCOL_ISCSI ** #define AG_PROTOCOL_FC */ /* ** Define the application types: ** ** #define INITIATOR_DRIVER ** #define TARGET_DRIVER */ /* ** Define the endian-ness of the host CPU using one of the following: ** ** #define AG_CPU_LITTLE_ENDIAN ** #define AG_CPU_BIG_ENDIAN */ /* ** Define the host CPU word size ** ** #define AG_CPU_32_BIT ** #define AG_CPU_64_BIT ** */ #ifdef CONFIG_IA64 #define AG_CPU_64_BIT #else #define AG_CPU_32_BIT #endif /* ** The following allow the code to use defines for word alignment and adding ** to allow for 32bit and 64bit system differences. */ #ifdef AG_CPU_32_BIT #define AG_WORD_ALIGN_ADD 3 #define AG_WORD_ALIGN_MASK 0xfffffffc #else #define AG_WORD_ALIGN_ADD 7 #define AG_WORD_ALIGN_MASK 0xfffffff8 #endif /*************************************************************************** iSCSI enviornment - The following is used for compiling the iSCSI protocol. **************************************************************************/ /* ** Define the existance of an external bus swapper using on of the ** following: ** ** #define AG_SWAPPING_BUS ** #define AG_NON_SWAPPING_BUS ** */ /* ** Define the use of cache memory for message system: ** ** #define AG_CACHED_MSG_SYSTEM ** */ /* #define AG_CACHED_MSG_SYSTEM */ /*************************************************************************** FC enviornment - The following is used for compiling the FC protocol. **************************************************************************/ /* ** Define if an PMC-Sierra card is being used: ** ** #define CCFLAGS_PMC_SIERRA_BOARD ** */ /* ** Define if the TSDK is being used: ** ** #define FCLayer_Tsdk ** */ /* ** The following defines are not changed directly, but use either previous ** defines, or compiler directives. ** */ #ifdef AG_CPU_LITTLE_ENDIAN #define FC_DMA_LITTLE_ENDIAN #define FC_CPU_LITTLE_ENDIAN #define SA_DMA_LITTLE_ENDIAN #define SA_CPU_LITTLE_ENDIAN #endif #ifdef AG_CPU_BIG_ENDIAN #define FC_DMA_BIG_ENDIAN #define FC_CPU_BIG_ENDIAN #define SA_DMA_BIG_ENDIAN #define SA_CPU_BIG_ENDIAN #endif /* warning: leave this next line as-is. it is used for FC-Layer testing */ #undef FC_CHECKMACRO #endif /* __OSENV_H__ */