FreeBSD kernel pms device code
osenv.h
Go to the documentation of this file.
1
/*******************************************************************************
2
*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
3
*
4
*Redistribution and use in source and binary forms, with or without modification, are permitted provided
5
*that the following conditions are met:
6
*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7
*following disclaimer.
8
*2. Redistributions in binary form must reproduce the above copyright notice,
9
*this list of conditions and the following disclaimer in the documentation and/or other materials provided
10
*with the distribution.
11
*
12
*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13
*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14
*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15
*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16
*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17
*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18
*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19
*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20
*
21
* $FreeBSD$
22
*
23
*******************************************************************************/
24
/***************************************************************************
25
26
Version Control Information:
27
28
$RCSfile: osenv.h,v $
29
$Revision: 114125 $
30
31
Note: This file defines the working environment of the system. All
32
defines listed in this file could also be compiler flags.
33
I am listing all the defines (even if used as a compiler flag)
34
so that they can be seen and documented.
35
***************************************************************************/
36
37
#ifndef __OSENV_H__
38
#define __OSENV_H__
39
#include <
dev/pms/freebsd/driver/common/osstring.h
>
40
41
/*
42
** Define the protocols to compile with. Currently, these defines are
43
** only for this header file and are used further down to define the protocol
44
** specific environment:
45
**
46
** #define AG_PROTOCOL_ISCSI
47
** #define AG_PROTOCOL_FC
48
*/
49
50
/*
51
** Define the application types:
52
**
53
** #define INITIATOR_DRIVER
54
** #define TARGET_DRIVER
55
*/
56
57
/*
58
** Define the endian-ness of the host CPU using one of the following:
59
**
60
** #define AG_CPU_LITTLE_ENDIAN
61
** #define AG_CPU_BIG_ENDIAN
62
*/
63
64
/*
65
** Define the host CPU word size
66
**
67
** #define AG_CPU_32_BIT
68
** #define AG_CPU_64_BIT
69
**
70
*/
71
#ifdef CONFIG_IA64
72
#define AG_CPU_64_BIT
73
#else
74
#define AG_CPU_32_BIT
75
#endif
76
77
/*
78
** The following allow the code to use defines for word alignment and adding
79
** to allow for 32bit and 64bit system differences.
80
*/
81
#ifdef AG_CPU_32_BIT
82
#define AG_WORD_ALIGN_ADD 3
83
#define AG_WORD_ALIGN_MASK 0xfffffffc
84
#else
85
#define AG_WORD_ALIGN_ADD 7
86
#define AG_WORD_ALIGN_MASK 0xfffffff8
87
#endif
88
89
/***************************************************************************
90
iSCSI environment - The following is used for compiling the iSCSI
91
protocol.
92
**************************************************************************/
93
94
/*
95
** Define the existence of an external bus swapper using on of the
96
** following:
97
**
98
** #define AG_SWAPPING_BUS
99
** #define AG_NON_SWAPPING_BUS
100
**
101
*/
102
103
/*
104
** Define the use of cache memory for message system:
105
**
106
** #define AG_CACHED_MSG_SYSTEM
107
**
108
*/
109
/* #define AG_CACHED_MSG_SYSTEM */
110
111
/***************************************************************************
112
FC environment - The following is used for compiling the FC protocol.
113
**************************************************************************/
114
115
/*
116
** Define if an PMC-Sierra card is being used:
117
**
118
** #define CCFLAGS_PMC_SIERRA_BOARD
119
**
120
*/
121
122
/*
123
** Define if the TSDK is being used:
124
**
125
** #define FCLayer_Tsdk
126
**
127
*/
128
129
/*
130
** The following defines are not changed directly, but use either previous
131
** defines, or compiler directives.
132
**
133
*/
134
#ifdef AG_CPU_LITTLE_ENDIAN
135
#define FC_DMA_LITTLE_ENDIAN
136
#define FC_CPU_LITTLE_ENDIAN
137
#define SA_DMA_LITTLE_ENDIAN
138
#define SA_CPU_LITTLE_ENDIAN
139
#endif
140
141
#ifdef AG_CPU_BIG_ENDIAN
142
#define FC_DMA_BIG_ENDIAN
143
#define FC_CPU_BIG_ENDIAN
144
#define SA_DMA_BIG_ENDIAN
145
#define SA_CPU_BIG_ENDIAN
146
#endif
147
148
/* warning: leave this next line as-is. it is used for FC-Layer testing */
149
#undef FC_CHECKMACRO
150
151
#endif
/* __OSENV_H__ */
osstring.h
dev
pms
freebsd
driver
common
osenv.h
Generated by
1.9.3