Silent debug messages Modified: trunk/reactos/drivers/storage/floppy/csqrtns.c Modified: trunk/reactos/drivers/storage/floppy/floppy.c Modified: trunk/reactos/drivers/storage/floppy/floppy.h Modified: trunk/reactos/drivers/storage/floppy/hardware.c Modified: trunk/reactos/drivers/storage/floppy/ioctl.c Modified: trunk/reactos/drivers/storage/floppy/readwrite.c _____
Modified: trunk/reactos/drivers/storage/floppy/csqrtns.c --- trunk/reactos/drivers/storage/floppy/csqrtns.c 2005-06-21 19:17:49 UTC (rev 16209) +++ trunk/reactos/drivers/storage/floppy/csqrtns.c 2005-06-21 21:35:07 UTC (rev 16210) @@ -38,6 +38,8 @@
* that my lock choice is a spin lock. */
+#define NDEBUG +#include <debug.h> #include <ntddk.h>
#include "floppy.h" @@ -68,7 +70,7 @@ */ { UNREFERENCED_PARAMETER(UnusedCsq); - KdPrint(("CSQ: Removing IRP 0x%x\n", Irp)); + DPRINT(("CSQ: Removing IRP 0x%x\n", Irp)); RemoveEntryList(&Irp->Tail.Overlay.ListEntry); }
@@ -91,7 +93,7 @@ { UNREFERENCED_PARAMETER(UnusedCsq); UNREFERENCED_PARAMETER(PeekContext); - KdPrint(("CSQ: Peeking for next IRP\n")); + DPRINT(("CSQ: Peeking for next IRP\n"));
if(Irp) return CONTAINING_RECORD(&Irp->Tail.Overlay.ListEntry.Flink, IRP, Tail.Overlay.ListEntry); @@ -113,7 +115,7 @@ */ { UNREFERENCED_PARAMETER(UnusedCsq); - KdPrint(("CSQ: Acquiring spin lock\n")); + DPRINT(("CSQ: Acquiring spin lock\n")); KeAcquireSpinLock(&IrpQueueLock, Irql); }
@@ -128,7 +130,7 @@ */ { UNREFERENCED_PARAMETER(UnusedCsq); - KdPrint(("CSQ: Releasing spin lock\n")); + DPRINT(("CSQ: Releasing spin lock\n")); KeReleaseSpinLock(&IrpQueueLock, Irql); }
@@ -146,7 +148,7 @@ */ { UNREFERENCED_PARAMETER(UnusedCsq); - KdPrint(("CSQ: Canceling irp 0x%x\n", Irp)); + DPRINT(("CSQ: Canceling irp 0x%x\n", Irp)); Irp->IoStatus.Status = STATUS_CANCELLED; Irp->IoStatus.Information = 0; IoCompleteRequest(Irp, IO_NO_INCREMENT); @@ -171,7 +173,7 @@ */ { UNREFERENCED_PARAMETER(UnusedCsq); - KdPrint(("CSQ: Inserting IRP 0x%x\n", Irp)); + DPRINT(("CSQ: Inserting IRP 0x%x\n", Irp)); InsertTailList(&IrpQueue, &Irp->Tail.Overlay.ListEntry); KeReleaseSemaphore(&QueueSemaphore, 0, 1, FALSE); } _____
Modified: trunk/reactos/drivers/storage/floppy/floppy.c --- trunk/reactos/drivers/storage/floppy/floppy.c 2005-06-21 19:17:49 UTC (rev 16209) +++ trunk/reactos/drivers/storage/floppy/floppy.c 2005-06-21 21:35:07 UTC (rev 16210) @@ -40,6 +40,8 @@
* TODO: Media detection based on sector 1 */
+#define NDEBUG +#include <debug.h> #include <ntddk.h>
#include "floppy.h" @@ -86,7 +88,7 @@ ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL); ASSERT(ControllerInfo);
- KdPrint(("floppy: MotorStopDpcFunc called\n")); + DPRINT(("floppy: MotorStopDpcFunc called\n"));
HwTurnOffMotor(ControllerInfo); ControllerInfo->StopDpcQueued = FALSE; @@ -113,20 +115,22 @@ PAGED_CODE(); ASSERT(DriveInfo);
- KdPrint(("floppy: StartMotor called\n")); + DPRINT(("floppy: StartMotor called\n"));
if(DriveInfo->ControllerInfo->StopDpcQueued && !KeCancelTimer(&DriveInfo->ControllerInfo->MotorTimer)) { /* Motor turner-offer is already running; wait for it to finish */ - KdPrint(("floppy: StartMotor: motor turner-offer is already running; waiting for it\n")); + DPRINT(("floppy: StartMotor: motor turner-offer is already running; waiting for it\n"));
KeWaitForSingleObject(&DriveInfo->ControllerInfo->MotorStoppedEvent, Executive, KernelMode, FALSE, NULL); - KdPrint(("floppy: StartMotor: wait satisfied\n")); + DPRINT(("floppy: StartMotor: wait satisfied\n")); }
DriveInfo->ControllerInfo->StopDpcQueued = FALSE;
if(HwTurnOnMotor(DriveInfo) != STATUS_SUCCESS) - KdPrint(("floppy: StartMotor(): warning: HwTurnOnMotor failed\n")); + { + DPRINT(("floppy: StartMotor(): warning: HwTurnOnMotor failed\n")); + } }
@@ -145,7 +149,7 @@
ASSERT(ControllerInfo);
- KdPrint(("floppy: StopMotor called\n")); + DPRINT(("floppy: StopMotor called\n"));
/* one relative second, in 100-ns units */ StopTime.QuadPart = 10000000; @@ -198,7 +202,7 @@ { UNREFERENCED_PARAMETER(DeviceObject);
- KdPrint(("floppy: CreateClose called\n")); + DPRINT(("floppy: CreateClose called\n"));
Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = FILE_OPENED; @@ -233,10 +237,10 @@ StartMotor(DriveInfo);
/* set the data rate */ - KdPrint(("floppy: FIXME: UN-HARDCODE DATA RATE\n")); + DPRINT(("floppy: FIXME: UN-HARDCODE DATA RATE\n")); if(HwSetDataRate(DriveInfo->ControllerInfo, 0) != STATUS_SUCCESS) { - KdPrint(("floppy: Recalibrate: HwSetDataRate failed\n")); + DPRINT(("floppy: Recalibrate: HwSetDataRate failed\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -254,7 +258,7 @@ Status = HwRecalibrate(DriveInfo); if(Status != STATUS_SUCCESS) { - KdPrint(("floppy: Recalibrate: HwRecalibrate returned error\n")); + DPRINT(("floppy: Recalibrate: HwRecalibrate returned error\n")); continue; }
@@ -264,7 +268,7 @@ Status = HwRecalibrateResult(DriveInfo->ControllerInfo); if(Status != STATUS_SUCCESS) { - KdPrint(("floppy: Recalibrate: HwRecalibrateResult returned error\n")); + DPRINT(("floppy: Recalibrate: HwRecalibrateResult returned error\n")); break; } } @@ -299,7 +303,7 @@ PAGED_CODE(); ASSERT(DriveInfo);
- KdPrint(("floppy: ResetChangeFlag called\n")); + DPRINT(("floppy: ResetChangeFlag called\n"));
/* Try to recalibrate. We don't care if it works. */ Recalibrate(DriveInfo); @@ -313,7 +317,7 @@ /* Seek to 1 */ if(HwSeek(DriveInfo, 1) != STATUS_SUCCESS) { - KdPrint(("floppy: ResetChangeFlag(): HwSeek failed; returning STATUS_IO_DEVICE_ERROR\n")); + DPRINT(("floppy: ResetChangeFlag(): HwSeek failed; returning STATUS_IO_DEVICE_ERROR\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -322,7 +326,7 @@
if(HwSenseInterruptStatus(DriveInfo->ControllerInfo) != STATUS_SUCCESS) { - KdPrint(("floppy: ResetChangeFlag(): HwSenseInterruptStatus failed; bailing out\n")); + DPRINT(("floppy: ResetChangeFlag(): HwSenseInterruptStatus failed; bailing out\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -330,7 +334,7 @@ /* Seek back to 0 */ if(HwSeek(DriveInfo, 0) != STATUS_SUCCESS) { - KdPrint(("floppy: ResetChangeFlag(): HwSeek failed; returning STATUS_IO_DEVICE_ERROR\n")); + DPRINT(("floppy: ResetChangeFlag(): HwSeek failed; returning STATUS_IO_DEVICE_ERROR\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -339,7 +343,7 @@
if(HwSenseInterruptStatus(DriveInfo->ControllerInfo) != STATUS_SUCCESS) { - KdPrint(("floppy: ResetChangeFlag(): HwSenseInterruptStatus #2 failed; bailing\n")); + DPRINT(("floppy: ResetChangeFlag(): HwSenseInterruptStatus #2 failed; bailing\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -347,7 +351,7 @@ /* Check the change bit */ if(HwDiskChanged(DriveInfo, &DiskChanged) != STATUS_SUCCESS) { - KdPrint(("floppy: ResetChangeFlag(): HwDiskChagned failed; returning STATUS_IO_DEVICE_ERROR\n")); + DPRINT(("floppy: ResetChangeFlag(): HwDiskChagned failed; returning STATUS_IO_DEVICE_ERROR\n")); StopMotor(DriveInfo->ControllerInfo); return STATUS_IO_DEVICE_ERROR; } @@ -375,7 +379,7 @@ PAGED_CODE(); UNREFERENCED_PARAMETER(DriverObject);
- KdPrint(("floppy: unloading\n")); + DPRINT(("floppy: unloading\n"));
KeSetEvent(&QueueThreadTerminate, 0, FALSE); KeWaitForSingleObject(QueueThreadObject, Executive, KernelMode, FALSE, 0); @@ -409,7 +413,9 @@
/* Power down the controller */ if(HwPowerOff(&gControllerInfo[i]) != STATUS_SUCCESS) - KdPrint(("floppy: unload: warning: HwPowerOff failed\n")); + { + DPRINT(("floppy: unload: warning: HwPowerOff failed\n")); + } } }
@@ -477,7 +483,7 @@ UNREFERENCED_PARAMETER(PathName);
- KdPrint(("floppy: ConfigCallback called with ControllerNumber %d\n", ControllerNumber)); + DPRINT(("floppy: ConfigCallback called with ControllerNumber %d\n", ControllerNumber));
gControllerInfo[gNumberOfControllers].ControllerNumber = ControllerNumber; gControllerInfo[gNumberOfControllers].InterfaceType = BusType; @@ -508,7 +514,7 @@
if(!HalTranslateBusAddress(BusType, BusNumber, PartialDescriptor->u.Port.Start, &AddressSpace, &TranslatedAddress)) { - KdPrint(("floppy: HalTranslateBusAddress failed; returning\n")); + DPRINT(("floppy: HalTranslateBusAddress failed; returning\n")); return STATUS_IO_DEVICE_ERROR; }
@@ -600,7 +606,7 @@
ASSERT(ControllerInfo);
- KdPrint(("floppy: ISR called\n")); + DPRINT(("floppy: ISR called\n"));
/* * Due to the stupidity of the drive/controller relationship on the floppy drive, only one device object @@ -644,7 +650,7 @@
ASSERT(ControllerInfo);
- KdPrint(("floppy: DpcForIsr called\n")); + DPRINT(("floppy: DpcForIsr called\n"));
KeSetEvent(&ControllerInfo->SynchEvent, EVENT_INCREMENT, FALSE); } @@ -668,29 +674,29 @@ PAGED_CODE(); ASSERT(ControllerInfo);
- KdPrint(("floppy: InitController called with Controller 0x%x\n", ControllerInfo)); + DPRINT(("floppy: InitController called with Controller 0x%x\n", ControllerInfo));
KeClearEvent(&ControllerInfo->SynchEvent);
- KdPrint(("floppy: InitController: resetting the controller\n")); + DPRINT(("floppy: InitController: resetting the controller\n"));
/* Reset the controller */ if(HwReset(ControllerInfo) != STATUS_SUCCESS) { - KdPrint(("floppy: InitController: unable to reset controller\n")); + DPRINT(("floppy: InitController: unable to reset controller\n")); return STATUS_IO_DEVICE_ERROR; }
- KdPrint(("floppy: InitController: setting data rate\n")); + DPRINT(("floppy: InitController: setting data rate\n"));
/* Set data rate */ if(HwSetDataRate(ControllerInfo, DRSR_DSEL_500KBPS) != STATUS_SUCCESS) { - KdPrint(("floppy: InitController: unable to set data rate\n")); + DPRINT(("floppy: InitController: unable to set data rate\n")); return STATUS_IO_DEVICE_ERROR; }
- KdPrint(("floppy: InitController: waiting for initial interrupt\n")); + DPRINT(("floppy: InitController: waiting for initial interrupt\n"));
/* Wait for an interrupt */ WaitForControllerInterrupt(ControllerInfo); @@ -698,16 +704,16 @@ /* Reset means you have to clear each of the four interrupts (one per drive) */ for(i = 0; i < MAX_DRIVES_PER_CONTROLLER; i++) { - KdPrint(("floppy: InitController: Sensing interrupt %d\n", i)); + DPRINT(("floppy: InitController: Sensing interrupt %d\n", i));
if(HwSenseInterruptStatus(ControllerInfo) != STATUS_SUCCESS) { - KdPrint(("floppy: InitController: Unable to clear interrupt 0x%x\n", i)); + DPRINT(("floppy: InitController: Unable to clear interrupt 0x%x\n", i)); return STATUS_IO_DEVICE_ERROR; } }
- KdPrint(("floppy: InitController: done sensing interrupts\n")); + DPRINT(("floppy: InitController: done sensing interrupts\n"));
/* Next, see if we have the right version to do implied seek */ if(HwGetVersion(ControllerInfo) == VERSION_ENHANCED) @@ -715,12 +721,12 @@ /* If so, set that up -- all defaults below except first TRUE for EIS */ if(HwConfigure(ControllerInfo, TRUE, TRUE, FALSE, 0, 0) != STATUS_SUCCESS) { - KdPrint(("floppy: InitController: unable to set up implied seek\n")); + DPRINT(("floppy: InitController: unable to set up implied seek\n")); ControllerInfo->ImpliedSeeks = FALSE; } else { - KdPrint(("floppy: InitController: implied seeks set!\n")); + DPRINT(("floppy: InitController: implied seeks set!\n")); ControllerInfo->ImpliedSeeks = TRUE; }
@@ -747,23 +753,23 @@ } else { - KdPrint(("floppy: InitController: enhanced version not supported; disabling implied seeks\n")); + DPRINT(("floppy: InitController: enhanced version not supported; disabling implied seeks\n")); ControllerInfo->ImpliedSeeks = FALSE; ControllerInfo->Model30 = FALSE; }
/* Specify */ - KdPrint(("FLOPPY: FIXME: Figure out speed\n")); + DPRINT(("FLOPPY: FIXME: Figure out speed\n")); HeadLoadTime = SPECIFY_HLT_500K; HeadUnloadTime = SPECIFY_HUT_500K; StepRateTime = SPECIFY_SRT_500K;
- KdPrint(("floppy: InitController: issuing specify command to controller\n")); + DPRINT(("floppy: InitController: issuing specify command to controller\n"));
/* Don't disable DMA --> enable dma (dumb & confusing) */ if(HwSpecify(ControllerInfo, HeadLoadTime, HeadUnloadTime, StepRateTime, FALSE) != STATUS_SUCCESS) { - KdPrint(("floppy: InitController: unable to specify options\n")); + DPRINT(("floppy: InitController: unable to specify options\n")); return STATUS_IO_DEVICE_ERROR; }
@@ -779,11 +785,11 @@ */ for(i = 0; i < ControllerInfo->NumberOfDrives; i++) { - KdPrint(("floppy: InitController: recalibrating drive 0x%x on controller 0x%x\n", i, ControllerInfo)); + DPRINT(("floppy: InitController: recalibrating drive 0x%x on controller 0x%x\n", i, ControllerInfo)); Recalibrate(&ControllerInfo->DriveInfo[i]); }
- KdPrint(("floppy: InitController: done initializing; returning STATUS_SUCCESS\n")); + DPRINT(("floppy: InitController: done initializing; returning STATUS_SUCCESS\n"));
return STATUS_SUCCESS; } @@ -825,7 +831,7 @@ */ if(!gControllerInfo[0].Populated) { - KdPrint(("floppy: AddControllers: failed to get controller info from registry\n")); + DPRINT(("floppy: AddControllers: failed to get controller info from registry\n")); return FALSE; }
@@ -843,7 +849,7 @@ /* Must set up the DPC before we connect the interrupt */ KeInitializeDpc(&gControllerInfo[i].Dpc, DpcForIsr, &gControllerInfo[i]);
- KdPrint(("floppy: Connecting interrupt %d to controller%d (object 0x%x)\n", gControllerInfo[i].MappedVector, + DPRINT(("floppy: Connecting interrupt %d to controller%d (object 0x%x)\n", gControllerInfo[i].MappedVector, i, &gControllerInfo[i]));
/* NOTE: We cannot share our interrupt, even on level-triggered buses. See Isr() for details. */ @@ -851,7 +857,7 @@ gControllerInfo[i].MappedLevel, gControllerInfo[i].MappedLevel, gControllerInfo[i].InterruptMode, FALSE, Affinity, 0) != STATUS_SUCCESS) { - KdPrint(("floppy: AddControllers: unable to connect interrupt\n")); + DPRINT(("floppy: AddControllers: unable to connect interrupt\n")); continue; }
@@ -870,7 +876,7 @@
if(!gControllerInfo[i].AdapterObject) { - KdPrint(("floppy: AddControllers: unable to allocate an adapter object\n")); + DPRINT(("floppy: AddControllers: unable to allocate an adapter object\n")); IoDisconnectInterrupt(gControllerInfo[i].InterruptObject); continue; } @@ -878,7 +884,7 @@ /* 2b: Initialize the new controller */ if(InitController(&gControllerInfo[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: AddControllers():Unable to set up controller %d - initialization failed\n", i)); + DPRINT(("floppy: AddControllers():Unable to set up controller %d - initialization failed\n", i)); IoDisconnectInterrupt(gControllerInfo[i].InterruptObject); continue; } @@ -895,7 +901,7 @@ UNICODE_STRING ArcPath; UCHAR DriveNumber;
- KdPrint(("floppy: AddControllers(): Configuring drive %d on controller %d\n", i, j)); + DPRINT(("floppy: AddControllers(): Configuring drive %d on controller %d\n", i, j));
/* * 3a: create a device object for the drive @@ -919,12 +925,12 @@ FILE_DEVICE_DISK, FILE_REMOVABLE_MEDIA | FILE_FLOPPY_DISKETTE, FALSE,
&gControllerInfo[i].DriveInfo[j].DeviceObject) != STATUS_SUCCESS) { - KdPrint(("floppy: AddControllers: unable to register a Device object\n")); + DPRINT(("floppy: AddControllers: unable to register a Device object\n"));
IoDisconnectInterrupt(gControllerInfo[i].InterruptObject); continue; /* continue on to next drive */ }
- KdPrint(("floppy: AddControllers: New device: %S (0x%x)\n", DeviceNameBuf, gControllerInfo[i].DriveInfo[j].DeviceObject)); + DPRINT(("floppy: AddControllers: New device: %S (0x%x)\n", DeviceNameBuf, gControllerInfo[i].DriveInfo[j].DeviceObject));
/* 3b.5: Create an ARC path in case we're booting from this drive */ swprintf(gControllerInfo[i].DriveInfo[j].ArcPathBuffer, @@ -941,7 +947,7 @@ RtlInitUnicodeString(&LinkName, gControllerInfo[i].DriveInfo[j].SymLinkBuffer); if(IoCreateSymbolicLink(&LinkName, &DeviceName) != STATUS_SUCCESS) { - KdPrint(("floppy: AddControllers: Unable to create a symlink for drive %d\n", DriveNumber)); + DPRINT(("floppy: AddControllers: Unable to create a symlink for drive %d\n", DriveNumber)); IoDisconnectInterrupt(gControllerInfo[i].InterruptObject); IoDeassignArcName(&ArcPath); continue; /* continue to next drive */ @@ -964,7 +970,7 @@ } }
- KdPrint(("floppy: AddControllers: --------------------------------------------> finished adding controllers\n")); + DPRINT(("floppy: AddControllers: --------------------------------------------> finished adding controllers\n"));
return TRUE; } @@ -985,7 +991,7 @@ { PDRIVE_INFO DriveInfo = DeviceObject->DeviceExtension;
- KdPrint(("floppy: SignalMediaChanged called\n")); + DPRINT(("floppy: SignalMediaChanged called\n"));
DriveInfo->DiskChangeCount++;
@@ -1038,18 +1044,18 @@
if(KeReadStateEvent(&QueueThreadTerminate)) { - KdPrint(("floppy: QueueThread terminating\n")); + DPRINT(("floppy: QueueThread terminating\n")); return; }
- KdPrint(("floppy: QueueThread: servicing an IRP\n")); + DPRINT(("floppy: QueueThread: servicing an IRP\n"));
Irp = IoCsqRemoveNextIrp(&Csq, 0);
/* we won't get an irp if it was canceled */ if(!Irp) { - KdPrint(("floppy: QueueThread: IRP queue empty\n")); + DPRINT(("floppy: QueueThread: IRP queue empty\n")); continue; }
@@ -1072,7 +1078,7 @@ break;
default: - KdPrint(("floppy: QueueThread(): Unrecognized irp: mj: 0x%x\n", Stack->MajorFunction)); + DPRINT(("floppy: QueueThread(): Unrecognized irp: mj: 0x%x\n", Stack->MajorFunction)); Irp->IoStatus.Status = STATUS_NOT_SUPPORTED; Irp->IoStatus.Information = 0; IoCompleteRequest(Irp, IO_NO_INCREMENT); @@ -1149,13 +1155,13 @@ */ if(PsCreateSystemThread(&ThreadHandle, 0, 0, 0, 0, QueueThread, 0) != STATUS_SUCCESS) { - KdPrint(("floppy: Unable to create system thread; failing init\n")); + DPRINT(("floppy: Unable to create system thread; failing init\n")); return STATUS_INSUFFICIENT_RESOURCES; }
if(ObReferenceObjectByHandle(ThreadHandle, STANDARD_RIGHTS_ALL, NULL, KernelMode, &QueueThreadObject, NULL) != STATUS_SUCCESS) { - KdPrint(("floppy: Unable to reference returned thread handle; failing init\n")); + DPRINT(("floppy: Unable to reference returned thread handle; failing init\n")); return STATUS_UNSUCCESSFUL; }
_____
Modified: trunk/reactos/drivers/storage/floppy/floppy.h --- trunk/reactos/drivers/storage/floppy/floppy.h 2005-06-21 19:17:49 UTC (rev 16209) +++ trunk/reactos/drivers/storage/floppy/floppy.h 2005-06-21 21:35:07 UTC (rev 16210) @@ -35,32 +35,6 @@
/* need ioctls in ddk build mode */ #include <ntdddisk.h>
-/* missing from ros headers */ -/* TODO: fix this right */ -#ifndef KdPrint -#if 0 -#define KdPrint(x) DbgPrint x -#else -#define KdPrint(x) -#endif -#endif - -#ifndef ASSERT -#define ASSERT(x) { if(!(x)) __asm__("int $3\n"); } -#endif - -#ifndef assert -#define assert(x) ASSERT(x) -#endif - -#ifndef PAGED_CODE -#define PAGED_CODE() {ASSERT(KeGetCurrentIrql() < DISPATCH_LEVEL);} -#endif - -#ifndef UNREFERENCED_PARAMETER -#define UNREFERENCED_PARAMETER(x) { (x) = (x); } -#endif - struct _CONTROLLER_INFO;
typedef struct _DRIVE_INFO _____
Modified: trunk/reactos/drivers/storage/floppy/hardware.c --- trunk/reactos/drivers/storage/floppy/hardware.c 2005-06-21 19:17:49 UTC (rev 16209) +++ trunk/reactos/drivers/storage/floppy/hardware.c 2005-06-21 21:35:07 UTC (rev 16210) @@ -48,6 +48,8 @@
* TODO: Figure out the right delays in Send_Byte and Get_Byte */
+#define NDEBUG +#include <debug.h> #include <ntddk.h>
#include "floppy.h" @@ -181,7 +183,7 @@ return STATUS_SUCCESS; }
- KdPrint(("floppy: Send_Byte: timed out trying to write\n")); + DPRINT(("floppy: Send_Byte: timed out trying to write\n")); HwDumpRegisters(ControllerInfo); return STATUS_UNSUCCESSFUL; } @@ -250,7 +252,7 @@ return STATUS_SUCCESS; }
- KdPrint(("floppy: Get_Byte: timed out trying to read\n")); + DPRINT(("floppy: Get_Byte: timed out trying to read\n")); HwDumpRegisters(ControllerInfo); return STATUS_UNSUCCESSFUL; } @@ -267,7 +269,7 @@ * STATUS_SUCCESS */ { - KdPrint(("floppy: HwSetDataRate called; writing rate code 0x%x to offset 0x%x\n", DataRate, DATA_RATE_SELECT_REGISTER)); + DPRINT(("floppy: HwSetDataRate called; writing rate code 0x%x to offset 0x%x\n", DataRate, DATA_RATE_SELECT_REGISTER));
WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DATA_RATE_SELECT_REGISTER, DataRate);
@@ -288,7 +290,7 @@ * - Called at DISPATCH_LEVEL */ { - KdPrint(("floppy: HwTurnOffMotor: writing byte 0x%x to offset 0x%x\n", DOR_FDC_ENABLE|DOR_DMA_IO_INTERFACE_ENABLE, DIGITAL_OUTPUT_REGISTER)); + DPRINT(("floppy: HwTurnOffMotor: writing byte 0x%x to offset 0x%x\n", DOR_FDC_ENABLE|DOR_DMA_IO_INTERFACE_ENABLE, DIGITAL_OUTPUT_REGISTER));
WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER, DOR_FDC_ENABLE|DOR_DMA_IO_INTERFACE_ENABLE);
@@ -330,7 +332,7 @@ else if (Unit == 3) Buffer |= DOR_FLOPPY_MOTOR_ON_D;
- KdPrint(("floppy: HwTurnOnMotor: writing byte 0x%x to offset 0x%x\n", Buffer, DIGITAL_OUTPUT_REGISTER)); + DPRINT(("floppy: HwTurnOnMotor: writing byte 0x%x to offset 0x%x\n", Buffer, DIGITAL_OUTPUT_REGISTER)); WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER, Buffer);
return STATUS_SUCCESS; @@ -355,7 +357,7 @@
PAGED_CODE();
- KdPrint(("floppy: HwSenseDriveStatus called\n")); + DPRINT(("floppy: HwSenseDriveStatus called\n"));
Buffer[0] = COMMAND_SENSE_DRIVE_STATUS; Buffer[1] = DriveInfo->UnitNumber; /* hard-wired to head 0 for now */ @@ -363,7 +365,7 @@ for(i = 0; i < 2; i++) if(Send_Byte(DriveInfo->ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSenseDriveStatus: failed to write FIFO\n")); + DPRINT(("floppy: HwSenseDriveStatus: failed to write FIFO\n")); return STATUS_UNSUCCESSFUL; }
@@ -429,11 +431,11 @@ /* Send the command */ for(i = 0; i < 9; i++) { - KdPrint(("floppy: HwReadWriteData: Sending a command byte to the FIFO: 0x%x\n", Buffer[i])); + DPRINT(("floppy: HwReadWriteData: Sending a command byte to the FIFO: 0x%x\n", Buffer[i]));
if(Send_Byte(ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("HwReadWriteData: Unable to write to the FIFO\n")); + DPRINT(("HwReadWriteData: Unable to write to the FIFO\n")); return STATUS_UNSUCCESSFUL; } } @@ -465,19 +467,19 @@
if(Send_Byte(ControllerInfo, COMMAND_SENSE_INTERRUPT_STATUS) != STATUS_SUCCESS) { - KdPrint(("floppy: HwRecalibrateResult: Unable to write the controller\n")); + DPRINT(("floppy: HwRecalibrateResult: Unable to write the controller\n")); return STATUS_UNSUCCESSFUL; }
for(i = 0; i < 2; i++) if(Get_Byte(ControllerInfo, &Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwRecalibrateResult: unable to read FIFO\n")); + DPRINT(("floppy: HwRecalibrateResult: unable to read FIFO\n")); return STATUS_UNSUCCESSFUL; }
/* Validate that it did what we told it to */ - KdPrint(("floppy: HwRecalibrateResult results: ST0: 0x%x PCN: 0x%x\n", Buffer[0], Buffer[1])); + DPRINT(("floppy: HwRecalibrateResult results: ST0: 0x%x PCN: 0x%x\n", Buffer[0], Buffer[1]));
/* * Buffer[0] = ST0 @@ -487,20 +489,20 @@ /* Is the PCN 0? */ if(Buffer[1] != 0) { - KdPrint(("floppy: HwRecalibrateResult: PCN not 0\n")); + DPRINT(("floppy: HwRecalibrateResult: PCN not 0\n")); return STATUS_UNSUCCESSFUL; }
/* test seek complete */ if((Buffer[0] & SR0_SEEK_COMPLETE) != SR0_SEEK_COMPLETE) { - KdPrint(("floppy: HwRecalibrateResult: Failed to complete the seek\n")); + DPRINT(("floppy: HwRecalibrateResult: Failed to complete the seek\n")); return STATUS_UNSUCCESSFUL; }
/* Is the equipment check flag set? Could be no disk in drive... */ if((Buffer[0] & SR0_EQUIPMENT_CHECK) == SR0_EQUIPMENT_CHECK) - KdPrint(("floppy: HwRecalibrateResult: Seeked to track 0 successfully, but EC is set; returning STATUS_SUCCESS anyway\n")); + DPRINT(("floppy: HwRecalibrateResult: Seeked to track 0 successfully, but EC is set; returning STATUS_SUCCESS anyway\n"));
return STATUS_SUCCESS; } @@ -530,12 +532,12 @@ for(i = 0; i < 7; i++) if(Get_Byte(ControllerInfo, &Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwReadWriteResult: unable to read fifo\n")); + DPRINT(("floppy: HwReadWriteResult: unable to read fifo\n")); return STATUS_UNSUCCESSFUL; }
/* Validate that it did what we told it to */ - KdPrint(("floppy: HwReadWriteResult results: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", Buffer[0], Buffer[1], Buffer[2], Buffer[3], + DPRINT(("floppy: HwReadWriteResult results: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", Buffer[0], Buffer[1], Buffer[2], Buffer[3], Buffer[4], Buffer[5], Buffer[6]));
/* Last command successful? */ @@ -563,7 +565,7 @@ UCHAR Buffer[2]; int i;
- KdPrint(("floppy: HwRecalibrate called\n")); + DPRINT(("floppy: HwRecalibrate called\n"));
PAGED_CODE();
@@ -573,7 +575,7 @@ for(i = 0; i < 2; i++) if(Send_Byte(ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwRecalibrate: unable to write FIFO\n")); + DPRINT(("floppy: HwRecalibrate: unable to write FIFO\n")); return STATUS_UNSUCCESSFUL; }
@@ -598,7 +600,7 @@
if(Send_Byte(ControllerInfo, COMMAND_SENSE_INTERRUPT_STATUS) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSenseInterruptStatus: failed to write controller\n")); + DPRINT(("floppy: HwSenseInterruptStatus: failed to write controller\n")); return STATUS_UNSUCCESSFUL; }
@@ -606,12 +608,12 @@ { if(Get_Byte(ControllerInfo, &Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSenseInterruptStatus: failed to read controller\n")); + DPRINT(("floppy: HwSenseInterruptStatus: failed to read controller\n")); return STATUS_UNSUCCESSFUL; } }
- KdPrint(("floppy: HwSenseInterruptStatus returned 0x%x 0x%x\n", Buffer[0], Buffer[1])); + DPRINT(("floppy: HwSenseInterruptStatus returned 0x%x 0x%x\n", Buffer[0], Buffer[1]));
return STATUS_SUCCESS; } @@ -633,7 +635,7 @@ UCHAR Buffer[2]; int i;
- KdPrint(("floppy: HwReadId called\n")); + DPRINT(("floppy: HwReadId called\n"));
PAGED_CODE();
@@ -643,7 +645,7 @@ for(i = 0; i < 2; i++) if(Send_Byte(DriveInfo->ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwReadId: unable to send bytes to fifo\n")); + DPRINT(("floppy: HwReadId: unable to send bytes to fifo\n")); return STATUS_UNSUCCESSFUL; }
@@ -676,7 +678,7 @@ UCHAR Buffer[6]; int i;
- KdPrint(("floppy: HwFormatTrack called\n")); + DPRINT(("floppy: HwFormatTrack called\n"));
PAGED_CODE();
@@ -690,7 +692,7 @@ for(i = 0; i < 6; i++) if(Send_Byte(ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwFormatTrack: unable to send bytes to floppy\n")); + DPRINT(("floppy: HwFormatTrack: unable to send bytes to floppy\n")); return STATUS_UNSUCCESSFUL; }
@@ -716,7 +718,7 @@ UCHAR Buffer[3]; int i;
- KdPrint(("floppy: HwSeek called for cyl 0x%x\n", Cylinder)); + DPRINT(("floppy: HwSeek called for cyl 0x%x\n", Cylinder));
PAGED_CODE();
@@ -727,7 +729,7 @@ for(i = 0; i < 3; i++) if(Send_Byte(DriveInfo->ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSeek: failed to write fifo\n")); + DPRINT(("floppy: HwSeek: failed to write fifo\n")); return STATUS_UNSUCCESSFUL; }
@@ -767,7 +769,7 @@ UCHAR Buffer[4]; int i;
- KdPrint(("floppy: HwConfigure called\n")); + DPRINT(("floppy: HwConfigure called\n"));
PAGED_CODE();
@@ -779,7 +781,7 @@ for(i = 0; i < 4; i++) if(Send_Byte(ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwConfigure: failed to write the fifo\n")); + DPRINT(("floppy: HwConfigure: failed to write the fifo\n")); return STATUS_UNSUCCESSFUL; }
@@ -807,17 +809,17 @@
if(Send_Byte(ControllerInfo, COMMAND_VERSION) != STATUS_SUCCESS) { - KdPrint(("floppy: HwGetVersion: unable to write fifo\n")); + DPRINT(("floppy: HwGetVersion: unable to write fifo\n")); return STATUS_UNSUCCESSFUL; }
if(Get_Byte(ControllerInfo, &Buffer) != STATUS_SUCCESS) { - KdPrint(("floppy: HwGetVersion: unable to write fifo\n")); + DPRINT(("floppy: HwGetVersion: unable to write fifo\n")); return STATUS_UNSUCCESSFUL; }
- KdPrint(("floppy: HwGetVersion returning version 0x%x\n", Buffer)); + DPRINT(("floppy: HwGetVersion returning version 0x%x\n", Buffer));
return Buffer; } @@ -841,18 +843,18 @@
Buffer = READ_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_INPUT_REGISTER);
- KdPrint(("floppy: HwDiskChanged: read 0x%x from DIR\n", Buffer)); + DPRINT(("floppy: HwDiskChanged: read 0x%x from DIR\n", Buffer));
if(ControllerInfo->Model30) { if(!(Buffer & DIR_DISKETTE_CHANGE)) { - KdPrint(("floppy: HdDiskChanged - Model30 - returning TRUE\n")); + DPRINT(("floppy: HdDiskChanged - Model30 - returning TRUE\n")); *DiskChanged = TRUE; } else { - KdPrint(("floppy: HdDiskChanged - Model30 - returning FALSE\n")); + DPRINT(("floppy: HdDiskChanged - Model30 - returning FALSE\n")); *DiskChanged = FALSE; } } @@ -860,12 +862,12 @@ { if(Buffer & DIR_DISKETTE_CHANGE) { - KdPrint(("floppy: HdDiskChanged - PS2 - returning TRUE\n")); + DPRINT(("floppy: HdDiskChanged - PS2 - returning TRUE\n")); *DiskChanged = TRUE; } else { - KdPrint(("floppy: HdDiskChanged - PS2 - returning FALSE\n")); + DPRINT(("floppy: HdDiskChanged - PS2 - returning FALSE\n")); *DiskChanged = FALSE; } } @@ -891,11 +893,11 @@
if(Get_Byte(ControllerInfo, Status) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSenseDriveStatus: unable to read fifo\n")); + DPRINT(("floppy: HwSenseDriveStatus: unable to read fifo\n")); return STATUS_UNSUCCESSFUL; }
- KdPrint(("floppy: HwSenseDriveStatusResult: ST3: 0x%x\n", *Status)); + DPRINT(("floppy: HwSenseDriveStatusResult: ST3: 0x%x\n", *Status));
return STATUS_SUCCESS; } @@ -929,25 +931,25 @@ for(i = 0; i < 7; i++) if(Get_Byte(ControllerInfo, &Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: ReadIdResult(): can't read from the controller\n")); + DPRINT(("floppy: ReadIdResult(): can't read from the controller\n")); return STATUS_UNSUCCESSFUL; }
/* Validate that it did what we told it to */ - KdPrint(("floppy: ReadId results: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", Buffer[0], Buffer[1], Buffer[2], Buffer[3], + DPRINT(("floppy: ReadId results: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", Buffer[0], Buffer[1], Buffer[2], Buffer[3], Buffer[4], Buffer[5], Buffer[6]));
/* Last command successful? */ if((Buffer[0] & SR0_LAST_COMMAND_STATUS) != SR0_LCS_SUCCESS) { - KdPrint(("floppy: ReadId didn't return last command success\n")); + DPRINT(("floppy: ReadId didn't return last command success\n")); return STATUS_UNSUCCESSFUL; }
/* ID mark found? */ if(Buffer[1] & SR1_CANNOT_FIND_ID_ADDRESS) { - KdPrint(("floppy: ReadId didn't find an address mark\n")); + DPRINT(("floppy: ReadId didn't find an address mark\n")); return STATUS_UNSUCCESSFUL; }
@@ -994,13 +996,13 @@ Buffer[1] = 0xdf; Buffer[2] = 0x2;
- //KdPrint(("HwSpecify: sending 0x%x 0x%x 0x%x to FIFO\n", Buffer[0], Buffer[1], Buffer[2])); - KdPrint(("FLOPPY: HWSPECIFY: FIXME - sending 0x3 0xd1 0x2 to FIFO\n")); + //DPRINT(("HwSpecify: sending 0x%x 0x%x 0x%x to FIFO\n", Buffer[0], Buffer[1], Buffer[2])); + DPRINT(("FLOPPY: HWSPECIFY: FIXME - sending 0x3 0xd1 0x2 to FIFO\n"));
for(i = 0; i < 3; i++) if(Send_Byte(ControllerInfo, Buffer[i]) != STATUS_SUCCESS) { - KdPrint(("floppy: HwSpecify: unable to write to controller\n")); + DPRINT(("floppy: HwSpecify: unable to write to controller\n")); return STATUS_UNSUCCESSFUL; }
@@ -1019,7 +1021,7 @@ * - Generates an interrupt that must be serviced four times (one per drive) */ { - KdPrint(("floppy: HwReset called\n")); + DPRINT(("floppy: HwReset called\n"));
/* Write the reset bit in the DRSR */ WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DATA_RATE_SELECT_REGISTER, DRSR_SW_RESET); @@ -1028,13 +1030,13 @@ if(!(READ_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER) & DOR_RESET)) { HwDumpRegisters(ControllerInfo); - KdPrint(("floppy: HwReset: Setting Enable bit\n")); + DPRINT(("floppy: HwReset: Setting Enable bit\n")); WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER, DOR_DMA_IO_INTERFACE_ENABLE|DOR_RESET); HwDumpRegisters(ControllerInfo);
if(!(READ_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER) & DOR_RESET)) { - KdPrint(("floppy: HwReset: failed to set the DOR enable bit!\n")); + DPRINT(("floppy: HwReset: failed to set the DOR enable bit!\n")); HwDumpRegisters(ControllerInfo); return STATUS_UNSUCCESSFUL; } @@ -1055,7 +1057,7 @@ * - Wake up with a hardware reset */ { - KdPrint(("floppy: HwPowerOff called on controller 0x%x\n", ControllerInfo)); + DPRINT(("floppy: HwPowerOff called on controller 0x%x\n", ControllerInfo));
WRITE_PORT_UCHAR(ControllerInfo->BaseAddress + DATA_RATE_SELECT_REGISTER, DRSR_POWER_DOWN);
@@ -1071,11 +1073,11 @@ { UNREFERENCED_PARAMETER(ControllerInfo);
- KdPrint(("floppy: STATUS: ")); - KdPrint(("STATUS_REGISTER_A = 0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + STATUS_REGISTER_A))); - KdPrint(("STATUS_REGISTER_B = 0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + STATUS_REGISTER_B))); - KdPrint(("DIGITAL_OUTPUT_REGISTER = 0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_OUTPUT_REGISTER))); - KdPrint(("MAIN_STATUS_REGISTER =0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + MAIN_STATUS_REGISTER))); - KdPrint(("DIGITAL_INPUT_REGISTER = 0x%x\n", READ_PORT_UCHAR(ControllerInfo->BaseAddress + DIGITAL_INPUT_REGISTER))); + DPRINT(("floppy: STATUS: ")); + DPRINT(("STATUS_REGISTER_A = 0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + STATUS_REGISTER_A))); + DPRINT(("STATUS_REGISTER_B = 0x%x ", READ_PORT_UCHAR(ControllerInfo->BaseAddress + STATUS_REGISTER_B))); [truncated at 1000 lines; 513 more skipped]