From: Simon on 16 Sep 2010 02:31 I use In-box driver for Pci-E SD host contoller, it will load sdbus.sys, sffdisk.sys and sffp_sd.sys driver. I use PciE analyzer to trace DMA operation. I found a strange situation about DMA operation: It's DMA physical start address always are the same. Ex: host device physical address 3f622000 ---> read data physical address 3f622080 ---> read data physical address 3f622100 ---> read data ..... physical address 3f622f00 ---> read data physical address 3f622f80 ---> read data // 4K page boundary <--- device send DMA end interrupt host driver write physcial address 3f622f00 to DMA register ---> Host clear DMA end interrupt physical address 3f622000 ---> read data physical address 3f622080 ---> read data .... .... Normal case is that different physical page has different physical address. But In-box always read/write the same physical address If use MmGetMdlByteOffset to get MDL start address is not alignd about 512 bytes or 128 bytes. If it is possible to re-map MDL or not. Thanks, SimonPeng
|
Pages: 1 Prev: ISA non PNP interrupt issue Next: How to create a driver for Windows 7 x64 ? |