atapi, buslogic, cdrom, class2.

svn path=/trunk/; revision=20673
This commit is contained in:
Alex Ionescu 2006-01-07 21:50:29 +00:00
parent 736946617f
commit b4c020d06b
3 changed files with 55 additions and 51 deletions

View file

@ -63,6 +63,10 @@
#define VERSION "0.0.1" #define VERSION "0.0.1"
NTSTATUS NTAPI
DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath);
// ------------------------------------------------------- File Static Data // ------------------------------------------------------- File Static Data
#ifdef ENABLE_DMA #ifdef ENABLE_DMA
@ -98,9 +102,9 @@ typedef struct _ATAPI_MINIPORT_EXTENSION
PUCHAR DataBuffer; PUCHAR DataBuffer;
ULONG DataTransferLength; ULONG DataTransferLength;
BOOLEAN FASTCALL (*Handler)(IN struct _ATAPI_MINIPORT_EXTENSION* DevExt); BOOLEAN (FASTCALL *Handler)(IN struct _ATAPI_MINIPORT_EXTENSION* DevExt);
#ifdef ENABLE_DMA #ifdef ENABLE_DMA
BOOL UseDma; BOOLEAN UseDma;
ULONG PRDCount; ULONG PRDCount;
ULONG PRDMaxCount; ULONG PRDMaxCount;
PPRD PRDTable; PPRD PRDTable;
@ -168,7 +172,7 @@ PCI_NATIVE_CONTROLLER const PciNativeController[] =
static BOOLEAN static BOOLEAN
AtapiInitDma(PATAPI_MINIPORT_EXTENSION DevExt, AtapiInitDma(PATAPI_MINIPORT_EXTENSION DevExt,
PSCSI_REQUEST_BLOCK Srb, PSCSI_REQUEST_BLOCK Srb,
BYTE cmd); UCHAR cmd);
#endif #endif
static ULONG STDCALL static ULONG STDCALL
@ -208,8 +212,8 @@ AtapiStartIo(IN PVOID DeviceExtension,
static VOID static VOID
AtapiExecuteCommand(PATAPI_MINIPORT_EXTENSION DevExt, AtapiExecuteCommand(PATAPI_MINIPORT_EXTENSION DevExt,
BYTE command, UCHAR command,
BOOLEAN FASTCALL (*Handler)(PATAPI_MINIPORT_EXTENSION)); BOOLEAN (FASTCALL *Handler)(PATAPI_MINIPORT_EXTENSION));
static BOOLEAN STDCALL static BOOLEAN STDCALL
AtapiInterrupt(IN PVOID DeviceExtension); AtapiInterrupt(IN PVOID DeviceExtension);
@ -338,7 +342,7 @@ IDESwapBytePairs(UCHAR *Buf,
// RETURNS: // RETURNS:
// NTSTATUS // NTSTATUS
STDCALL NTSTATUS NTSTATUS NTAPI
DriverEntry(IN PDRIVER_OBJECT DriverObject, DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath) IN PUNICODE_STRING RegistryPath)
{ {
@ -1106,7 +1110,7 @@ static BOOLEAN STDCALL
AtapiInterrupt(IN PVOID DeviceExtension) AtapiInterrupt(IN PVOID DeviceExtension)
{ {
PATAPI_MINIPORT_EXTENSION DevExt; PATAPI_MINIPORT_EXTENSION DevExt;
BYTE Status; UCHAR Status;
DevExt = (PATAPI_MINIPORT_EXTENSION)DeviceExtension; DevExt = (PATAPI_MINIPORT_EXTENSION)DeviceExtension;
if (DevExt->Handler == NULL) if (DevExt->Handler == NULL)
@ -1149,7 +1153,7 @@ static BOOLEAN
AtapiConfigDma(PATAPI_MINIPORT_EXTENSION DeviceExtension, ULONG UnitNumber) AtapiConfigDma(PATAPI_MINIPORT_EXTENSION DeviceExtension, ULONG UnitNumber)
{ {
BOOLEAN Result = FALSE; BOOLEAN Result = FALSE;
BYTE Status; UCHAR Status;
if (UnitNumber < 2) if (UnitNumber < 2)
{ {
@ -2156,7 +2160,7 @@ AtapiSendAtapiCommand(IN PATAPI_MINIPORT_EXTENSION DeviceExtension,
#ifdef ENABLE_DMA #ifdef ENABLE_DMA
if (DeviceExtension->UseDma) if (DeviceExtension->UseDma)
{ {
BYTE DmaCommand; UCHAR DmaCommand;
/* start DMA */ /* start DMA */
DmaCommand = IDEReadDMACommand(DeviceExtension->BusMasterRegisterBase); DmaCommand = IDEReadDMACommand(DeviceExtension->BusMasterRegisterBase);
IDEWriteDMACommand(DeviceExtension->BusMasterRegisterBase, DmaCommand|0x01); IDEWriteDMACommand(DeviceExtension->BusMasterRegisterBase, DmaCommand|0x01);
@ -2382,7 +2386,7 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension,
UCHAR Command; UCHAR Command;
ULONG Retries; ULONG Retries;
UCHAR Status; UCHAR Status;
BOOLEAN FASTCALL (*Handler)(PATAPI_MINIPORT_EXTENSION DevExt); BOOLEAN (FASTCALL *Handler)(PATAPI_MINIPORT_EXTENSION DevExt);
DPRINT("AtapiReadWrite() called!\n"); DPRINT("AtapiReadWrite() called!\n");
DPRINT("SCSIOP_WRITE: TargetId: %lu\n", DPRINT("SCSIOP_WRITE: TargetId: %lu\n",
@ -2585,7 +2589,7 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension,
#ifdef ENABLE_DMA #ifdef ENABLE_DMA
if (DeviceExtension->UseDma) if (DeviceExtension->UseDma)
{ {
BYTE DmaCommand; UCHAR DmaCommand;
/* start DMA */ /* start DMA */
DmaCommand = IDEReadDMACommand(DeviceExtension->BusMasterRegisterBase); DmaCommand = IDEReadDMACommand(DeviceExtension->BusMasterRegisterBase);
IDEWriteDMACommand(DeviceExtension->BusMasterRegisterBase, DmaCommand|0x01); IDEWriteDMACommand(DeviceExtension->BusMasterRegisterBase, DmaCommand|0x01);
@ -2602,7 +2606,7 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension,
/* Wait for controller ready */ /* Wait for controller ready */
for (Retries = 0; Retries < IDE_MAX_WRITE_RETRIES; Retries++) for (Retries = 0; Retries < IDE_MAX_WRITE_RETRIES; Retries++)
{ {
BYTE Status = IDEReadStatus(DeviceExtension->CommandPortBase); UCHAR Status = IDEReadStatus(DeviceExtension->CommandPortBase);
if (!(Status & IDE_SR_BUSY) || (Status & IDE_SR_ERR)) if (!(Status & IDE_SR_BUSY) || (Status & IDE_SR_ERR))
{ {
break; break;
@ -2989,12 +2993,12 @@ AtapiCompleteRequest(PATAPI_MINIPORT_EXTENSION DevExt,
static BOOLEAN FASTCALL static BOOLEAN FASTCALL
AtapiDmaPacketInterrupt(PATAPI_MINIPORT_EXTENSION DevExt) AtapiDmaPacketInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
{ {
BYTE SrbStatus; UCHAR SrbStatus;
BYTE DmaCommand; UCHAR DmaCommand;
BYTE DmaStatus; UCHAR DmaStatus;
BYTE Status; UCHAR Status;
BYTE Error; UCHAR Error;
BYTE SensKey; UCHAR SensKey;
DPRINT("AtapiPacketDmaInterrupt\n"); DPRINT("AtapiPacketDmaInterrupt\n");
@ -3043,16 +3047,16 @@ static BOOLEAN FASTCALL
AtapiPacketInterrupt(PATAPI_MINIPORT_EXTENSION DevExt) AtapiPacketInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
{ {
PSCSI_REQUEST_BLOCK Srb; PSCSI_REQUEST_BLOCK Srb;
BYTE Status; UCHAR Status;
BYTE IntReason; UCHAR IntReason;
ULONG TransferSize; ULONG TransferSize;
ULONG JunkSize = 0; ULONG JunkSize = 0;
BOOL IsLastBlock; BOOLEAN IsLastBlock;
PBYTE TargetAddress; PUCHAR TargetAddress;
ULONG Retries; ULONG Retries;
BYTE SrbStatus; UCHAR SrbStatus;
BYTE Error; UCHAR Error;
BYTE SensKey; UCHAR SensKey;
DPRINT("AtapiPacketInterrupt()\n"); DPRINT("AtapiPacketInterrupt()\n");
@ -3183,7 +3187,7 @@ AtapiPacketInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
static BOOLEAN FASTCALL static BOOLEAN FASTCALL
AtapiNoDataInterrupt(PATAPI_MINIPORT_EXTENSION DevExt) AtapiNoDataInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
{ {
BYTE Status; UCHAR Status;
DPRINT("AtapiNoDataInterrupt()\n"); DPRINT("AtapiNoDataInterrupt()\n");
@ -3199,9 +3203,9 @@ AtapiNoDataInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
static BOOLEAN FASTCALL static BOOLEAN FASTCALL
AtapiDmaInterrupt(PATAPI_MINIPORT_EXTENSION DevExt) AtapiDmaInterrupt(PATAPI_MINIPORT_EXTENSION DevExt)
{ {
BYTE DmaCommand; UCHAR DmaCommand;
BYTE DmaStatus; UCHAR DmaStatus;
BYTE Status; UCHAR Status;
DPRINT("AtapiDmaInterrupt()\n"); DPRINT("AtapiDmaInterrupt()\n");
@ -3448,8 +3452,8 @@ AtapiWriteInterrupt(IN PATAPI_MINIPORT_EXTENSION DevExt)
static VOID static VOID
AtapiExecuteCommand(PATAPI_MINIPORT_EXTENSION DevExt, AtapiExecuteCommand(PATAPI_MINIPORT_EXTENSION DevExt,
BYTE command, UCHAR command,
BOOLEAN FASTCALL (*Handler)(PATAPI_MINIPORT_EXTENSION)) BOOLEAN (FASTCALL *Handler)(PATAPI_MINIPORT_EXTENSION))
{ {
if (DevExt->Handler != NULL) if (DevExt->Handler != NULL)
{ {
@ -3464,7 +3468,7 @@ AtapiExecuteCommand(PATAPI_MINIPORT_EXTENSION DevExt,
static BOOLEAN static BOOLEAN
AtapiInitDma(PATAPI_MINIPORT_EXTENSION DevExt, AtapiInitDma(PATAPI_MINIPORT_EXTENSION DevExt,
PSCSI_REQUEST_BLOCK Srb, PSCSI_REQUEST_BLOCK Srb,
BYTE cmd) UCHAR cmd)
{ {
PVOID StartAddress; PVOID StartAddress;
PVOID EndAddress; PVOID EndAddress;
@ -3472,7 +3476,7 @@ AtapiInitDma(PATAPI_MINIPORT_EXTENSION DevExt,
SCSI_PHYSICAL_ADDRESS PhysicalAddress; SCSI_PHYSICAL_ADDRESS PhysicalAddress;
ULONG Length; ULONG Length;
ULONG tmpLength; ULONG tmpLength;
BYTE Status; UCHAR Status;
DPRINT("AtapiInitDma()\n"); DPRINT("AtapiInitDma()\n");

View file

@ -946,9 +946,9 @@ CdromClassCreateDeviceObject(IN PDRIVER_OBJECT DriverObject,
*/ */
static NTSTATUS static NTSTATUS
CdromClassReadTocEntry (PDEVICE_OBJECT DeviceObject, CdromClassReadTocEntry (PDEVICE_OBJECT DeviceObject,
UINT TrackNo, SIZE_T TrackNo,
PVOID Buffer, PVOID Buffer,
UINT Length) SIZE_T Length)
{ {
PDEVICE_EXTENSION DeviceExtension; PDEVICE_EXTENSION DeviceExtension;
SCSI_REQUEST_BLOCK Srb; SCSI_REQUEST_BLOCK Srb;
@ -978,9 +978,9 @@ CdromClassReadTocEntry (PDEVICE_OBJECT DeviceObject,
static NTSTATUS static NTSTATUS
CdromClassReadLastSession (PDEVICE_OBJECT DeviceObject, CdromClassReadLastSession (PDEVICE_OBJECT DeviceObject,
UINT TrackNo, SIZE_T TrackNo,
PVOID Buffer, PVOID Buffer,
UINT Length) SIZE_T Length)
{ {
PDEVICE_EXTENSION DeviceExtension; PDEVICE_EXTENSION DeviceExtension;
SCSI_REQUEST_BLOCK Srb; SCSI_REQUEST_BLOCK Srb;

View file

@ -18,36 +18,36 @@
struct _CLASS_INIT_DATA; struct _CLASS_INIT_DATA;
typedef VOID STDCALL typedef VOID
(*PCLASS_ERROR)(IN PDEVICE_OBJECT DeviceObject, (STDCALL *PCLASS_ERROR)(IN PDEVICE_OBJECT DeviceObject,
IN PSCSI_REQUEST_BLOCK Srb, IN PSCSI_REQUEST_BLOCK Srb,
IN OUT NTSTATUS *Status, IN OUT NTSTATUS *Status,
IN OUT BOOLEAN *Retry); IN OUT BOOLEAN *Retry);
typedef BOOLEAN STDCALL typedef BOOLEAN
(*PCLASS_DEVICE_CALLBACK)(IN PINQUIRYDATA); (STDCALL *PCLASS_DEVICE_CALLBACK)(IN PINQUIRYDATA);
typedef NTSTATUS STDCALL typedef NTSTATUS
(*PCLASS_READ_WRITE)(IN PDEVICE_OBJECT DeviceObject, (STDCALL *PCLASS_READ_WRITE)(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp); IN PIRP Irp);
typedef BOOLEAN STDCALL typedef BOOLEAN
(*PCLASS_FIND_DEVICES)(IN PDRIVER_OBJECT DriverObject, (STDCALL *PCLASS_FIND_DEVICES)(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath, IN PUNICODE_STRING RegistryPath,
IN struct _CLASS_INIT_DATA *InitializationData, IN struct _CLASS_INIT_DATA *InitializationData,
IN PDEVICE_OBJECT PortDeviceObject, IN PDEVICE_OBJECT PortDeviceObject,
IN ULONG PortNumber); IN ULONG PortNumber);
typedef NTSTATUS STDCALL typedef NTSTATUS
(*PCLASS_DEVICE_CONTROL)(IN PDEVICE_OBJECT DeviceObject, (STDCALL *PCLASS_DEVICE_CONTROL)(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp); IN PIRP Irp);
typedef NTSTATUS STDCALL typedef NTSTATUS
(*PCLASS_SHUTDOWN_FLUSH)(IN PDEVICE_OBJECT DeviceObject, (STDCALL *PCLASS_SHUTDOWN_FLUSH)(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp); IN PIRP Irp);
typedef NTSTATUS STDCALL typedef NTSTATUS
(*PCLASS_CREATE_CLOSE)(IN PDEVICE_OBJECT DeviceObject, (STDCALL *PCLASS_CREATE_CLOSE)(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp); IN PIRP Irp);