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