From: Thomas Faber Date: Sun, 22 Jun 2014 18:48:15 +0000 (+0000) Subject: [UNIATA] X-Git-Tag: backups/0.3.17@66124~965 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=6582b51c46a7b78ce49a067ac4cc3dc45a9266bc [UNIATA] - Fix page length calculation in IdeSendCommand/SCSIOP_MODE_SENSE case. Should be pushed upstream(TM). - Remove outdated file svn path=/trunk/; revision=63631 --- diff --git a/reactos/drivers/storage/ide/uniata/id_ata.cpp b/reactos/drivers/storage/ide/uniata/id_ata.cpp index 122431b1447..fc3edfe180b 100644 --- a/reactos/drivers/storage/ide/uniata/id_ata.cpp +++ b/reactos/drivers/storage/ide/uniata/id_ata.cpp @@ -7820,7 +7820,7 @@ default_no_prep: } else { RtlZeroMemory(modeData, sizeof(MODE_POWER_CONDITION_PAGE)); modeData->PageCode = MODE_PAGE_POWER_CONDITION; - modeData->PageLength = sizeof(MODE_PAGE_POWER_CONDITION)-sizeof(MODE_PARAMETER_HEADER); + modeData->PageLength = sizeof(MODE_POWER_CONDITION_PAGE)-sizeof(MODE_PARAMETER_HEADER); modeData->Byte3.Fields.Idle = LunExt->PowerState <= StartStop_Power_Idle; modeData->Byte3.Fields.Standby = LunExt->PowerState == StartStop_Power_Standby; Srb->DataTransferLength = sizeof(MODE_POWER_CONDITION_PAGE); diff --git a/reactos/drivers/storage/ide/uniata/warningfixes.diff b/reactos/drivers/storage/ide/uniata/warningfixes.diff deleted file mode 100644 index db828d8b556..00000000000 --- a/reactos/drivers/storage/ide/uniata/warningfixes.diff +++ /dev/null @@ -1,589 +0,0 @@ -Index: atapi.h -=================================================================== ---- atapi.h (revision 38451) -+++ atapi.h (working copy) -@@ -138,6 +138,10 @@ - - #else // _DEBUG - -+#ifdef KdPrint -+#undef KdPrint -+#endif -+ - #define PRINT_PREFIX "UniATA: " - - //#define KdPrint3(_x_) {if(LOG_ON_RAISED_IRQL_W2K || MajorVersion < 0x05 || KeGetCurrentIrql() <= 2){/*DbgPrint("%x: ", PsGetCurrentThread()) ;*/ DbgPrint _x_ ; if(g_LogToDisplay){ PrintNtConsole _x_ ;} }} -@@ -1063,8 +1067,8 @@ - - ULONG - AtapiParseArgumentString( -- IN PCHAR String, -- IN PCHAR KeyWord -+ IN PCCH String, -+ IN PCCH KeyWord - ); - - BOOLEAN -@@ -1202,15 +1206,15 @@ - IN PVOID HwDeviceExtension, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ); - - extern ULONG - AtapiRegCheckParameterValue( - IN PVOID HwDeviceExtension, -- IN PWSTR PathSuffix, -- IN PWSTR Name, -+ IN PCWSTR PathSuffix, -+ IN PCWSTR Name, - IN ULONG Default - ); - -@@ -1220,7 +1224,7 @@ - VOID - _cdecl - _PrintNtConsole( -- PCHAR DebugMessage, -+ PCCH DebugMessage, - ... - ); - -Index: id_sata.cpp -=================================================================== ---- id_sata.cpp (revision 38451) -+++ id_sata.cpp (working copy) -@@ -7,7 +7,7 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- ULONG Channel = deviceExtension->Channel + lChannel; -+ //ULONG Channel = deviceExtension->Channel + lChannel; - PHW_CHANNEL chan = &deviceExtension->chan[lChannel]; - SATA_SSTATUS_REG SStatus; - ULONG i; -@@ -126,7 +126,7 @@ - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PHW_CHANNEL chan = &deviceExtension->chan[lChannel]; -- ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; -+ //ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - SATA_SSTATUS_REG SStatus; - SATA_SERROR_REG SError; - -Index: ntddk_ex.h -=================================================================== ---- ntddk_ex.h (revision 38451) -+++ ntddk_ex.h (working copy) -@@ -1,15 +1,12 @@ - #ifndef __NTDDK_EX__H__ - #define __NTDDK_EX__H__ - --#ifndef __REACTOS__ -+#ifdef ASSERT - #undef ASSERT --#define ASSERT --#else --#undef ASSERT --#define ASSERT //(x) if (!(x)) {RtlAssert("#x",__FILE__,__LINE__, ""); } --#endif //__REACTOS__ -+#define ASSERT(x) ((void)0) -+// #define ASSERT(x) if (!(x)) { RtlAssert("#x",__FILE__,__LINE__, ""); } -+#endif - -- - #ifndef FILE_CHARACTERISTIC_PNP_DEVICE // DDK 2003 - - #define FILE_CHARACTERISTIC_PNP_DEVICE 0x00000800 -Index: id_dma.cpp -=================================================================== ---- id_dma.cpp (revision 38451) -+++ id_dma.cpp (working copy) -@@ -219,7 +219,7 @@ - PHW_CHANNEL chan = &(deviceExtension->chan[lChannel]); - PATA_REQ AtaReq = (PATA_REQ)(Srb->SrbExtension); - BOOLEAN use_DB_IO = FALSE; -- BOOLEAN use_AHCI = FALSE; -+ //BOOLEAN use_AHCI = FALSE; - ULONG orig_count = count; - ULONG max_entries = (deviceExtension->HwFlags & UNIATA_AHCI) ? ATA_AHCI_DMA_ENTRIES : ATA_DMA_ENTRIES; - -@@ -281,7 +281,7 @@ - if(!dma_count || ((LONG)(dma_base) == -1)) { - KdPrint2((PRINT_PREFIX "AtapiDmaSetup: No 1st block\n" )); - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - return FALSE; - } - -@@ -303,7 +303,7 @@ - if (i >= max_entries) { - KdPrint2((PRINT_PREFIX "too many segments in DMA table\n" )); - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - return FALSE; - } - KdPrint2((PRINT_PREFIX " get Phys(data[n]=%x)\n", data )); -@@ -321,7 +321,7 @@ - } else - if(!dma_count || !dma_base || ((LONG)(dma_base) == -1)) { - //AtaReq->dma_base = NULL; -- AtaReq->ahci_base64 = NULL; -+ AtaReq->ahci_base64 = 0; - KdPrint2((PRINT_PREFIX "AtapiDmaSetup: No NEXT block\n" )); - return FALSE; - } -@@ -596,7 +596,7 @@ - ) - { - PHW_LU_EXTENSION LunExt = &(deviceExtension->lun[ldev]); -- CHAR apiomode; -+ SCHAR apiomode; - - apiomode = (CHAR)AtaPioMode(&(LunExt->IdentifyData)); - -@@ -612,7 +612,7 @@ - } - - if((deviceExtension->HbaCtrlFlags & HBAFLAGS_DMA_DISABLED_LBA48) && -- (AtaReq->lba >= ATA_MAX_LBA28) && -+ (AtaReq->lba >= (LONGLONG)ATA_MAX_LBA28) && - (LunExt->TransferMode > ATA_PIO5) ) { - KdPrint2((PRINT_PREFIX - "AtapiDmaReinit: FORCE_DOWNRATE on Device %d for LBA48\n", ldev & 1)); -@@ -623,7 +623,7 @@ - if(AtaReq->Flags & REQ_FLAG_FORCE_DOWNRATE) { - KdPrint2((PRINT_PREFIX - "AtapiDmaReinit: FORCE_DOWNRATE on Device %d\n", ldev & 1)); -- if(AtaReq->lba >= ATA_MAX_LBA28) { -+ if(AtaReq->lba >= (LONGLONG)ATA_MAX_LBA28) { - limit_lba48: - LunExt->DeviceFlags |= REQ_FLAG_FORCE_DOWNRATE_LBA48; - limit_pio: -@@ -754,9 +754,9 @@ - IN ULONG DeviceNumber, - IN ULONG lChannel, // logical channel, - // is always 0 except simplex-only controllers -- IN CHAR apiomode, -- IN CHAR wdmamode, -- IN CHAR udmamode -+ IN SCHAR apiomode, -+ IN SCHAR wdmamode, -+ IN SCHAR udmamode - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -@@ -1488,7 +1488,7 @@ - AtaSetTransferMode(deviceExtension, DeviceNumber, lChannel, LunExt, ATA_PIO0 + apiomode); - - SetPciConfig1(mreg, mode | (mask & 0x11)); -- SetPciConfig2(ureg - 0x8, sil_pio_modes[i]); -+ SetPciConfig2(ureg - 0x8, sil_pio_modes[apiomode]); - return; - - } else { -@@ -1538,7 +1538,7 @@ - /*******/ - /* SiS */ - /*******/ -- PULONG sis_modes; -+ PULONG sis_modes = NULL; - static const ULONG sis_modes_new133[] = - { 0x28269008, 0x0c266008, 0x04263008, 0x0c0a3008, 0x05093008, - 0x22196008, 0x0c0a3008, 0x05093008, 0x050939fc, 0x050936ac, -@@ -1553,9 +1553,9 @@ - { 0x00cb, 0x0067, 0x0044, 0x0033, 0x0031, 0x0044, 0x0033, 0x0031, - 0x8b31, 0x8731, 0x8531, 0x8431, 0x8231, 0x8131 }; - -- ULONG reg; -+ ULONG reg = 0; - UCHAR reg57; -- ULONG reg_size; -+ ULONG reg_size = 0; - ULONG offs; - - switch(ChipType) { -@@ -1731,8 +1731,8 @@ - AtaSetTransferMode(deviceExtension, DeviceNumber, lChannel, LunExt, ATA_PIO0 + apiomode); - ChangePciConfig1(0x50, a | (1 << (dev + 3)) ); - GetPciConfig1(0x54 + offset, reg54); -- if(reg54 < chtiming[i]) { -- SetPciConfig1(0x54 + offset, chtiming[i]); -+ if(reg54 < chtiming[apiomode]) { -+ SetPciConfig1(0x54 + offset, chtiming[apiomode]); - } - return; - } -@@ -1901,7 +1901,7 @@ - ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - //ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - -- ULONG timing; -+ ULONG timing = 0; - - if(mode == ATA_PIO5) - mode = ATA_PIO4; -Index: id_badblock.cpp -=================================================================== ---- id_badblock.cpp (revision 38451) -+++ id_badblock.cpp (working copy) -@@ -159,7 +159,11 @@ - L"UniATA\\Parameters\\BadBlocks", - QueryTable, 0, 0); - -+#ifdef _DEBUG - KdPrint(( "InitBadBlocks returned: %#x\n", status)); -+#else -+ UNREFERENCED_PARAMETER(status); -+#endif - } else { - - KdPrint(( "InitBadBlocks local\n")); -Index: id_init.cpp -=================================================================== ---- id_init.cpp (revision 38451) -+++ id_init.cpp (working copy) -@@ -52,11 +52,11 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- ULONG slotNumber = deviceExtension->slotNumber; -- ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; -+ //ULONG slotNumber = deviceExtension->slotNumber; -+ //ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -- ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -- ULONG RevID = deviceExtension->RevID; -+ //ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+ //ULONG RevID = deviceExtension->RevID; - ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - ULONG ChipFlags= deviceExtension->HwFlags & CHIPFLAG_MASK; - -@@ -216,7 +216,7 @@ - PCI_DEV_HW_SPEC_BM( 0730, 1039, 0x00, ATA_UDMA5, "SiS 730" , SIS100OLD ), - - PCI_DEV_HW_SPEC_BM( 0646, 1039, 0x00, ATA_UDMA6, "SiS 645DX", SIS133NEW ), --/* PCI_DEV_HW_SPEC_BM( 0645, 1039, 0x00, ATA_UDMA6, "SiS 645" , SIS133NEW ), -+/* PCI_DEV_HW_SPEC_BM( 0645, 1039, 0x00, ATA_UDMA6, "SiS 645" , SIS133NEW ),*/ - /* PCI_DEV_HW_SPEC_BM( 0640, 1039, 0x00, ATA_UDMA4, "SiS 640" , SIS_SOUTH ),*/ - PCI_DEV_HW_SPEC_BM( 0635, 1039, 0x00, ATA_UDMA5, "SiS 635" , SIS100NEW ), - PCI_DEV_HW_SPEC_BM( 0633, 1039, 0x00, ATA_UDMA5, "SiS 633" , SIS100NEW ), -@@ -419,7 +419,7 @@ - BaseIoAddressBM = AtapiGetIoRange(HwDeviceExtension, ConfigInfo, pciData, SystemIoBusNumber, - 4, 0, deviceExtension->NumberChannels*sizeof(IDE_BUSMASTER_REGISTERS)); - for(c=0; cNumberChannels; c++) { -- ULONG unit01 = (c & 1); -+ //ULONG unit01 = (c & 1); - ULONG unit10 = (c & 2); - chan = &deviceExtension->chan[c]; - -@@ -987,7 +987,7 @@ - IN ULONG slotNumber - ) - { -- PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -+ //PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PCI_COMMON_CONFIG pciData; - ULONG funcNumber; - ULONG busDataRead; -@@ -1039,7 +1039,7 @@ - IN ULONG c - ) - { -- PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -+ //PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PCI_COMMON_CONFIG pciData; - ULONG funcNumber; - ULONG busDataRead; -@@ -1174,7 +1174,7 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - -- ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; -+ //ULONG ChipType = deviceExtension->HwFlags & CHIPTYPE_MASK; - PHW_CHANNEL chan; - ULONG c; // logical channel (for Compatible Mode controllers) - UCHAR tmp8; -@@ -1332,7 +1332,9 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -+#ifdef _DEBUG - ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+#endif - ULONG RevID = deviceExtension->RevID; - // ULONG i; - // BUSMASTER_CONTROLLER_INFORMATION* DevTypeInfo; -Index: id_ata.cpp -=================================================================== ---- id_ata.cpp (revision 38451) -+++ id_ata.cpp (working copy) -@@ -1864,7 +1864,9 @@ - ULONG slotNumber = deviceExtension->slotNumber; - ULONG SystemIoBusNumber = deviceExtension->SystemIoBusNumber; - ULONG VendorID = deviceExtension->DevID & 0xffff; -+#ifdef _DEBUG - ULONG DeviceID = (deviceExtension->DevID >> 16) & 0xffff; -+#endif - //ULONG RevID = deviceExtension->RevID; - ULONG ChipFlags = deviceExtension->HwFlags & CHIPFLAG_MASK; - UCHAR tmp8; -@@ -2859,12 +2861,12 @@ - --*/ - ULONG - AtapiParseArgumentString( -- IN PCHAR String, -- IN PCHAR KeyWord -+ IN PCCH String, -+ IN PCCH KeyWord - ) - { -- PCHAR cptr; -- PCHAR kptr; -+ PCCH cptr; -+ PCCH kptr; - ULONG value; - ULONG stringLength = 0; - ULONG keyWordLength = 0; -@@ -2877,24 +2879,15 @@ - return 0; - } - -- // Calculate the string length and lower case all characters. -+ // Calculate the string length. - cptr = String; -- while (*cptr) { -- if (*cptr >= 'A' && *cptr <= 'Z') { -- *cptr = *cptr + ('a' - 'A'); -- } -- cptr++; -+ while (*cptr++) { - stringLength++; - } - -- // Calculate the keyword length and lower case all characters. -- cptr = KeyWord; -- while (*cptr) { -- -- if (*cptr >= 'A' && *cptr <= 'Z') { -- *cptr = *cptr + ('a' - 'A'); -- } -- cptr++; -+ // Calculate the keyword length. -+ kptr = KeyWord; -+ while (*kptr++) { - keyWordLength++; - } - -@@ -2920,18 +2913,21 @@ - } - - kptr = KeyWord; -- while (*cptr++ == *kptr++) { -+ while ((*cptr == *kptr) || -+ (*cptr <= 'Z' && *cptr + ('a' - 'A') == *kptr) || -+ (*cptr >= 'a' && *cptr - ('a' - 'A') == *kptr)) { -+ cptr++; -+ kptr++; - -- if (*(cptr - 1) == '\0') { -+ if (*cptr == '\0') { - // end of string - return 0; - } - } - -- if (*(kptr - 1) == '\0') { -+ if (*kptr == '\0') { - - // May have a match backup and check for blank or equals. -- cptr--; - while (*cptr == ' ' || *cptr == '\t') { - cptr++; - } -@@ -2967,7 +2963,7 @@ - } - - value = 0; -- if ((*cptr == '0') && (*(cptr + 1) == 'x')) { -+ if ((*cptr == '0') && ((*(cptr + 1) == 'x') || (*(cptr + 1) == 'X'))) { - // Value is in Hex. Skip the "0x" - cptr += 2; - for (index = 0; *(cptr + index); index++) { -@@ -2983,6 +2979,8 @@ - } else { - if ((*(cptr + index) >= 'a') && (*(cptr + index) <= 'f')) { - value = (16 * value) + (*(cptr + index) - 'a' + 10); -+ } else if ((*(cptr + index) >= 'A') && (*(cptr + index) <= 'F')) { -+ value = (16 * value) + (*(cptr + index) - 'A' + 10); - } else { - // Syntax error, return not found. - return 0; -@@ -8752,10 +8750,10 @@ - ULONG - AtapiRegCheckDevLunValue( - IN PVOID HwDeviceExtension, -- IN PWCHAR NamePrefix, -+ IN PCWCH NamePrefix, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -8822,7 +8820,7 @@ - IN PVOID HwDeviceExtension, - IN ULONG chan, - IN ULONG dev, -- IN PWSTR Name, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -8940,8 +8938,8 @@ - ULONG - AtapiRegCheckParameterValue( - IN PVOID HwDeviceExtension, -- IN PWSTR PathSuffix, -- IN PWSTR Name, -+ IN PCWSTR PathSuffix, -+ IN PCWSTR Name, - IN ULONG Default - ) - { -@@ -9108,7 +9106,7 @@ - VOID - _cdecl - _PrintNtConsole( -- PCHAR DebugMessage, -+ PCCH DebugMessage, - ... - ) - { -Index: id_probe.cpp -=================================================================== ---- id_probe.cpp (revision 38451) -+++ id_probe.cpp (working copy) -@@ -76,7 +76,6 @@ - VOID - AtapiDoNothing(VOID) - { -- ULONG i = 0; - return; - } // end AtapiDoNothing() - -@@ -504,8 +503,8 @@ - /* if(known) { - RtlCopyMemory(newBMListPtr, (PVOID)&(BusMasterAdapters[i]), sizeof(BUSMASTER_CONTROLLER_INFORMATION)); - } else {*/ -- sprintf((PCHAR)vendorStrPtr, "%4.4x", VendorID); -- sprintf((PCHAR)deviceStrPtr, "%4.4x", DeviceID); -+ sprintf((PCHAR)vendorStrPtr, "%4.4lx", VendorID); -+ sprintf((PCHAR)deviceStrPtr, "%4.4lx", DeviceID); - - RtlCopyMemory(&(newBMListPtr->VendorIdStr), (PCHAR)vendorStrPtr, 4); - RtlCopyMemory(&(newBMListPtr->DeviceIdStr), (PCHAR)deviceStrPtr, 4); -@@ -874,7 +873,11 @@ - BOOLEAN found = FALSE; - BOOLEAN MasterDev; - BOOLEAN simplexOnly = FALSE; -+#ifndef UNIATA_CORE -+#ifdef UNIATA_INIT_ON_PROBE - BOOLEAN skip_find_dev = FALSE; -+#endif -+#endif - BOOLEAN AltInit = FALSE; - - SCSI_PHYSICAL_ADDRESS IoBasePort1; -@@ -1712,7 +1715,7 @@ - ) - { - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; -- PHW_CHANNEL chan = NULL; -+ //PHW_CHANNEL chan = NULL; - // this buffer must be global for UNIATA_CORE build - PCI_COMMON_CONFIG pciData; - -@@ -1743,8 +1746,8 @@ - BOOLEAN found = FALSE; - BOOLEAN MasterDev; - BOOLEAN simplexOnly = FALSE; -- BOOLEAN skip_find_dev = FALSE; -- BOOLEAN AltInit = FALSE; -+ //BOOLEAN skip_find_dev = FALSE; -+ //BOOLEAN AltInit = FALSE; - - PIDE_BUSMASTER_REGISTERS BaseIoAddressBM_0 = NULL; - -@@ -1797,7 +1800,7 @@ - &pciData, - PCI_COMMON_HDR_LENGTH); - -- if (busDataRead < PCI_COMMON_HDR_LENGTH) { -+ if (busDataRead < (ULONG)PCI_COMMON_HDR_LENGTH) { - KdPrint2((PRINT_PREFIX "busDataRead < PCI_COMMON_HDR_LENGTH => SP_RETURN_ERROR\n")); - goto exit_error; - } -@@ -2207,7 +2210,7 @@ - PHW_DEVICE_EXTENSION deviceExtension = (PHW_DEVICE_EXTENSION)HwDeviceExtension; - PHW_CHANNEL chan; - PULONG adapterCount = (PULONG)Context; -- PUCHAR ioSpace; -+ PUCHAR ioSpace = NULL; - ULONG i; - ULONG irq=0; - ULONG portBase; -@@ -2217,7 +2220,7 @@ - BOOLEAN preConfig = FALSE; - // - PIDE_REGISTERS_1 BaseIoAddress1; -- PIDE_REGISTERS_2 BaseIoAddress2; -+ PIDE_REGISTERS_2 BaseIoAddress2 = NULL; - - // The following table specifies the ports to be checked when searching for - // an IDE controller. A zero entry terminates the search. -Index: bm_devs.h -=================================================================== ---- bm_devs.h (revision 38451) -+++ bm_devs.h (working copy) -@@ -482,7 +482,7 @@ - { #idlo, 4, 0x##idlo, #idhi, 4, 0x##idhi, rev, mode, name, flags} - #else - #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ -- { #idlo, 4, 0x##idlo, #idhi, 4, 0x##idhi, rev, mode, NULL, flags} -+ { (PCHAR) #idlo, 4, 0x##idlo, (PCHAR) #idhi, 4, 0x##idhi, rev, mode, NULL, flags} - #endif - - #define BMLIST_TERMINATOR (0xffffffffL) -Index: bsmaster.h -=================================================================== ---- bsmaster.h (revision 38451) -+++ bsmaster.h (working copy) -@@ -987,7 +987,7 @@ - BOOLEAN opt_AtapiDmaRawRead; // default TRUE - BOOLEAN opt_AtapiDmaReadWrite; // default TRUE - -- PCHAR FullDevName; -+ PCCH FullDevName; - - } HW_DEVICE_EXTENSION, *PHW_DEVICE_EXTENSION; - -@@ -1172,9 +1172,9 @@ - IN ULONG DeviceNumber, - IN ULONG lChannel, // logical channel, - // is always 0 except simplex-only controllers -- IN CHAR apiomode, -- IN CHAR wdmamode, -- IN CHAR udmamode -+ IN SCHAR apiomode, -+ IN SCHAR wdmamode, -+ IN SCHAR udmamode - ); - - extern BOOLEAN NTAPI