Linux PCI/PCI-E设备配置空间读取与修改 1 前言 PCI和PCI Express,是计算机常使用的一种高速总线.操作系统中的PCI/PCI-E设备驱动以及操作系统内核,都需要访问PCI及PCI-E配置空间.PCI/PCI-E设备的正常运行,离不开PCI/PCI-E配置空间.通过读写PCI/PCI-E配置空间,可以更改设备运行参数,优化设备运行.本文介绍用户空间可以读取.修改.扫描PCI/PCIE设备的用户命令及使用. 在Linux内核中,为PCI和PCI-E只适用了一种总线PCI(…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 本文将分析 PCI/PCIe 设备直接分配(Pass-through)和 SR-IOV, 以及三种 I/O 虚拟化…
原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已经在上篇文章中讲解)和3个.c文件(Driver.c  Device.c   Queue.c) Driver.c 在看复杂的代码前,先给出程序流程图 #include "driver.h" #include "driver.tmh" #ifdef ALLOC_PRAGM…
原文出处:http://www.cnblogs.com/jacklu/p/4646601.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 在上一篇简要介绍了WDF和开发环境搭建后,本篇将讲述几个WDF中的概念,对开发者了解WDF非常有帮助,属于“内功部分”: 本篇文章结构将没那么清晰,当句句都是作者通过看书.看论文.看MSDN提炼出来的,希望对读者能够有所帮助. 1.WinDBG是唯一的内核驱动调试利器,但是开发PCIe的WDF驱…
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 这个系列的博客将首先用一个篇幅为不懂Windows 下PCI/PCIe驱动开发的介绍WDF和开发环境搭建,接下来几篇将直接讲述程序编写, 看完这几篇后,希望能够帮助读者了解如何通过500行左右的代码实现一个标准的PCIe接口卡驱动程序. 毕设题目的PCIe板卡是BAR0下映射两个5K的内存,偏移…
转载地址:http://blog.csdn.net/jiangwei0512/article/details/51603525 PCI/PCIe设备有自己的独立地址空间,这部分空间会映射到整个系统的地址空间. 映射地址在BIOS/UEFI下指定(如果有的话,对于使用非BIOS启动的OS,不清楚),它有两种类型,一种是MMIO,一种是IO.对于MMIO的访问,跟访问内存的方式一样,它从称为PCIEXBAR的基地址开始,有很大的一段空间,这个PCIEXBAR的值根据不同的平台可能不同,大致可能值有0…
SATA接口.PCI/PCIe.NVMe的介绍 SATA接口 SATA是Serial ATA的缩写,即串行ATA. SATA已经完全取代旧式PATA(Parallel ATA或旧称IDE)接口的旧式硬盘,因采用串行方式传输数据而得名. 在数据传输上这一方面,SATA的速度比以往更加快捷. 支持热插拔,使电脑运作时可以插上或拔除硬件. SATA总线使用了嵌入式时钟频率信号,具备了比以往更强的纠错能力,能对传输指令(不仅是数据)进行检查,如果发现错误会自动矫正,提高了数据传输的可靠性. SATA和以…
1. PCI PCI 是 Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽. PCI 插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上: ATX 结构的主板一般带有 5-6 个 PCI 插槽, MATX(小一点)主板也都带有 2-3 个 PCI 插槽,可见其应用的广泛性: 2. PCB PCB( Printed Circuit Board),中文名称为印制电路板,又称…
原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别为所在课题组移植了自己编写的驱动程序,在Windows 32位和64位平台下的PXI.PXIe.PCI.PCIe板卡分别得到了验证. 这篇文章根据自己最新编写的驱动代码(源代码请找博主索取),主要讲述如何为自己的硬件板卡移植驱动程序,并简单讲述如何使用Altera系列FPGA配置PCI IP核,然后…
1.PCI-Compatible Configurationbits [1:0] are hard-wired, read-only and must return zeros when read.bits [7:2] identify the target dwordbits [10:8] identify the target function number (1-of-8) within the target device.bits [15:11] identify the target…