[UNIATA]
[reactos.git] / reactos / drivers / storage / ide / uniata / config.h
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
47 /***************************************/
48 // Optimization for uni-processor machines
49 /***************************************/
50
51 //#define UNI_CPU_OPTIMIZATION
52
53 /***************************************/
54 // Enable/disable performance statistics
55 /***************************************/
56
57 #define QUEUE_STATISTICS
58
59 #define IO_STATISTICS
60
61 /***************************************/
62 // Misc
63 /***************************************/
64
65 //#define NAVO_TEST
66
67 /***************************************************/
68 /* Validate Options */
69 /***************************************************/
70
71 #ifdef _DEBUG
72
73 #ifndef DBG
74 #define DBG
75 #endif //DBG
76
77 #else //_DEBUG
78
79 #ifdef USE_DBGPRINT_LOGGER
80 #undef USE_DBGPRINT_LOGGER
81 #endif //USE_DBGPRINT_LOGGER
82
83 #endif // !_DEBUG
84
85 /***************************************************/
86 /* Compiler dependencies */
87 /***************************************************/
88
89 /* ReactOS-specific defines */
90 #ifdef DDKAPI
91 #define USE_REACTOS_DDK
92 #endif //DDKAPI
93
94 /* Are we under GNU C (mingw) ??? */
95 #if __GNUC__ >=3
96
97 #define DEF_U64(x) (x##ULL)
98 #define DEF_I64(x) (x##LL)
99
100 /* ReactOS-specific defines */
101 #ifdef USE_REACTOS_DDK
102 #define DDKFASTAPI __attribute__((fastcall))
103 #else //USE_REACTOS_DDK
104
105 #define DDKAPI __attribute__((stdcall))
106 #define DDKFASTAPI __attribute__((fastcall))
107 #define DDKCDECLAPI __attribute__((cdecl))
108
109 #endif //DDKAPI
110
111 #define DECLSPEC_NAKED __attribute__((naked))
112
113 #else // !__GNUC__ => MSVC/Intel
114
115 #define DEF_U64(x) (x##UI64)
116 #define DEF_I64(x) (x##I64)
117
118 /* ReactOS-specific defines */
119 #ifdef USE_REACTOS_DDK
120 #else //USE_REACTOS_DDK
121
122 #define DDKAPI __stdcall
123 #define DDKFASTAPI __fastcall
124 #define DDKCDECLAPI _cdecl
125
126 #endif //DDKAPI
127
128 #define DECLSPEC_NAKED __declspec(naked)
129
130 #endif //__GNUC__
131
132
133 #endif //__UNIATA_CONFIG__H__