xref: /reactos/drivers/storage/ide/uniata/config.h (revision 40462c92)
1 #ifndef __UNIATA_CONFIG__H__
2 #define __UNIATA_CONFIG__H__
3 
4 
5 /***************************************************/
6 /*        Options                                  */
7 /***************************************************/
8 
9 /***************************************/
10 // Send Debug messages directly to DbgPrintLonner using its SDK
11 /***************************************/
12 
13 //#define USE_DBGPRINT_LOGGER
14 
15 /***************************************/
16 // Send Debug messages via ScsiPort API
17 /***************************************/
18 
19 //#define SCSI_PORT_DBG_PRINT
20 
21 /***************************************/
22 // Using DbgPrint on raised IRQL will crash w2k
23 // this will not happen immediately, so we shall see some logs.
24 // You can tune Irql checking here
25 // Note: you can avoid crashes if configure DbgPrintLogger to check Irql
26 /***************************************/
27 
28 #define LOG_ON_RAISED_IRQL_W2K    TRUE
29 //#define LOG_ON_RAISED_IRQL_W2K    FALSE
30 
31 /***************************************/
32 // Use hack to avoid PCI-ISA DMA limitations (physical memory must
33 // be allocated below 16Mb). Actually there is no such limitation,
34 // so we have to pretent to be PIO and converl logical addresses
35 // to physical manually
36 /***************************************/
37 
38 #define USE_OWN_DMA
39 
40 /***************************************/
41 // Special option, enables dumping of ATAPI cammands and data buffers
42 // via DbgPrint API
43 /***************************************/
44 
45 //#define UNIATA_DUMP_ATAPI
46 #define UNIATA_DUMP_RW
47 
48 /***************************************/
49 // Optimization for uni-processor machines
50 /***************************************/
51 
52 //#define UNI_CPU_OPTIMIZATION
53 
54 /***************************************/
55 // Enable/disable performance statistics
56 /***************************************/
57 
58 #define QUEUE_STATISTICS
59 
60 #define IO_STATISTICS
61 
62 /***************************************/
63 // Misc
64 /***************************************/
65 
66 //#define NAVO_TEST
67 
68 /***************************************************/
69 /*    Validate Options                             */
70 /***************************************************/
71 
72 #ifdef _DEBUG
73 
74  #ifndef DBG
75   #define DBG
76  #endif //DBG
77 
78 #else //_DEBUG
79 
80  #ifdef USE_DBGPRINT_LOGGER
81   #undef USE_DBGPRINT_LOGGER
82  #endif //USE_DBGPRINT_LOGGER
83 
84 #endif // !_DEBUG
85 
86 /***************************************************/
87 /*  Compiler dependencies                          */
88 /***************************************************/
89 
90 /* ReactOS-specific defines */
91 #ifdef __REACTOS__
92  #define USE_REACTOS_DDK
93 #endif //__REACTOS__
94 
95 #ifdef USE_REACTOS_DDK
96  #define ULONGIO_PTR     ULONG_PTR
97  #define CRNT_ILK_TYPE
98  #define CRNT_ILK_PTYPE
99  #define REGRTL_STR_PTYPE
100 #else
101  #define ULONG_PTR       ULONG
102  #define ULONGIO_PTR     ULONG
103  #define CRNT_ILK_TYPE   (PVOID)
104  #define CRNT_ILK_PTYPE  (PVOID*)
105  #define REGRTL_STR_PTYPE  (PWCHAR)
106  #define UlongToPtr(u)   ((PVOID)((ULONG)(u)))
107  #define PtrToUlong(u)   ((ULONG)((PVOID)(u)))
108 #endif //USE_REACTOS_DDK
109 
110 /* Are we under GNU C (mingw) ??? */
111 #if __GNUC__ >=3
112 
113  #define  DEF_U64(x)     (x##ULL)
114  #define  DEF_I64(x)     (x##LL)
115 
116  /* ReactOS-specific defines */
117 
118  #ifndef DDKAPI
119   #define DDKAPI          __attribute__((stdcall))
120  #endif
121  #ifndef DDKCDECLAPI
122   #define DDKCDECLAPI     __attribute__((cdecl))
123  #endif
124  #ifndef DDKFASTAPI
125   #define DDKFASTAPI      __attribute__((fastcall))
126  #endif
127 
128  #define DECLSPEC_NAKED   __attribute__((naked))
129 
130 #else // !__GNUC__ => MSVC/Intel
131 
132  #define  DEF_U64(x)     (x##UI64)
133  #define  DEF_I64(x)     (x##I64)
134 
135  /* ReactOS-specific defines */
136 
137  #ifndef DDKAPI
138   #define DDKAPI          __stdcall
139  #endif
140  #ifndef DDKCDECLAPI
141   #define DDKCDECLAPI     _cdecl
142  #endif
143  #ifndef DDKFASTAPI
144   #define DDKFASTAPI      __fastcall
145  #endif
146 
147  #define DECLSPEC_NAKED   __declspec(naked)
148 
149 #endif //__GNUC__
150 
151 
152 #endif //__UNIATA_CONFIG__H__
153