The information in this article applies to:
SUMMARYPcidma.exe is a sample that contains a PCI busmaster DMA driver sample (packet-based) and a Win32 console-mode test application. MORE INFORMATIONThe following file is available for download from the Microsoft
Download Center. Click the file name below to download the file: Pcidma.exeRelease Date: Apr-30-1998 For more information about how to download files from the Microsoft Download Center, please visit the Download Center at the following Web address http://www.microsoft.com/downloads/search.aspand then click How to use the Microsoft Download Center. This sample driver is a template for a PCI busmaster DMA device that generates interrupts. Included is a small Win32 console mode application that sends I/O requests to the driver. The code assumes a single I/O per interrupt. If more than one I/O per interrupt is to be supported, the driver must be modified. Also, when the interrupt fires, the driver checks for a current I/O. If there is not a current I/O, the ISR only clears the interrupt. If you want a DPC to run even if there is no current I/O, you will have to change the driver design. Important NoteThis sample driver implements specific PCI SCSI registers, for a specific PCI vendor. Before using this driver, insure that the vendor-specific portions of the code have been removed or modified. Failure to take these precautions could cause a working system to fail unexpectedly.All the vendor unique code should have been identified with a VENDOR_UNIQUE comment. If you are using this code, you are responsible for insuring that the code does not cause undesired side-effects. The PciDma.sys driver is not a replacement SCSI driver. The sample driver cannot run at the same time as the Symbios Logic SCSI driver -- only one or the other driver will run. If the SCSI driver is used to control the boot device, the PciDma.sys driver should not be used or the system may become unbootable. Do not disable the SCSI driver unless you are sure it is not needed to boot. Build InstructionsTo run the sample:
Symbios Logic 53c815 Implementation DetailsThis section provides information about how this driver controls the Symbios Logic PCI SCSI device.For simplicity, the driver sets up a hardware timer on the Symbios 53c815. When the hardware timer fires, the PCI device interrupts the CPU. The driver ISR runs, queues the DPC, and the DPC completes a single pending I/O. This driver was created to support only one I/O per interrupt. This sample driver doesn't actually DMA data to the user buffer. However, the code to prepare the buffers for DMA transfer has been extracted from several working drivers. The specific registers that are used to control functionality are documented in the hardware specifications available from Symbios Logic. Additional query words:
Keywords : kbfile kbsample |
Last Reviewed: December 4, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |