- 博客(5)
- 收藏
- 关注
原创 bus-master dma 注意事项
DMA通常包括system dma和bus-master dma。他们的区别在于system dma是依赖于系统,device本身并没有dma控制传输的能力,而bus-master则相反,device有dma控制传输的能力。通常比较多见的是bus-master dma方式。 DMA的使用,首先在Start device中获取DMA_ADAPTER,透过DMA_ADAPTER提供的ca
2012-12-31 16:46:46 5803
原创 D3 cold for storport miniport
Mark。。。http://msdn.microsoft.com/en-us/library/windows/hardware/hh920421(v=vs.85).aspxA miniport driver calls StorPortInitializePoFxPower to register a storage device with the power manageme
2012-12-31 14:05:07 2385
转载 zz: 在驱动和应用程序间共享内存
ZZ:http://www.cnblogs.com/lzjsky/archive/2010/11/19/1881911.html在不同的场合,很多驱动编写人员需要在驱动和用户程序间共享内存。两种最容易的技术是: 1,应用程序发送IOCTL给驱动程序,提供一个指向内存的指针,之后驱动程序和应用程序就可以共享内存。(应用程序分配共享内存) 2,由驱动程序分配内存页,并映射这
2012-12-31 13:39:18 957
原创 MDL的使用(一) IoAllocateMdl / MmInitializeMdl
MDL (memory descriptor list)通常用于描述Va对应的物理内存的位置。通常Driver中可以访问的内容包括Next、MdlFlags。WDK中定义了几个常用的宏来访问MDL中的一些变量,包括:MmGetMdlVirtualAddress returns the virtual memory address of the buffer.// 虚拟内
2012-12-31 11:08:12 3985
转载 zz: 设备读写 之 直接方式(Direct I/O)MmGetMdlByteCount/MmGetMdlByteOffset/MmGetMdlVirtualAddress
最近一直在看WDM的驱动,在memory方面有一些不是很清楚,譬如 MDL 的具体结构、使用方法等等。在网络上搜刮一番,了解了MDL的具体使用,主要是MmGetMdlByteOffset这个宏的意义。之前一直认为这个值应该是0。事实并非如此,这个值是一个相对于page start addrss的offset,也就是说Va转为Pa时,并没有从page start address开始,而是从其中的
2012-12-31 10:50:27 2544
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人