水平有限,错误难免 ^_^
参考资料:
1) 《Linux内核源代码情景分析》
2) Linux内核源代码(2.6.32)。
本文只讨论比较简单的软硬件配置场景。
系统中的第一条PCI总线(即主PCI总线),挂在“宿主—PCI桥”上。
CPU通过“宿主——PCI桥”就可以访问主PCI总线了。
PC机中通常只有一个“宿主—PCI桥”。但是,通过引入其他类型的P...
分类:
其他好文 时间:
2015-06-17 21:33:42
阅读次数:
414
本文通过学习RealTek8169/8168/8101网卡的驱动代码(drivers/net/r8169.c),梳理一下Linux下网卡的收包过程。
在下水平相当有限,有不当之处,还请大家斧正^_^
驱动的初始化
如下的rtl8169_init_module函数是此驱动的初始化代码,此函数只干了一件事,就是向内核注册一个pci驱动rtl8169_pci_driver。
static ...
简介
本章给出一个高层总线架构的综述讨论重点是用于访问Peripheral Component Interconnect(PCI,外围设备互联)外设的内核函数PCI总线是内核中得到最好支持的总线本章主要介绍PCI驱动程序如果寻找其硬件和获得对它的访问本章也会介绍ISA总线
PCI接口
PCI是一组完整的规范,定义了计算机的各个不同部分之间应该如何交互PCI规范涵盖了与计算机接口相关的...
分类:
系统相关 时间:
2014-10-05 16:25:38
阅读次数:
372
Qemu为virtio设备分配了专门的pci设备ID,device IDs (vendor ID 0x1AF4) from 0x1000 through 0x10FF,而pci子系统中的厂商ID和设备ID就成为了virtio类型和厂商域的组成,所以PCI驱动是不需要知道virtio设备类型的真正含义,对于Kernel来说只是注册了一个struct virtio_device,并挂载到了virtio...
分类:
Web程序 时间:
2014-09-04 11:47:59
阅读次数:
195
最近实验室需要做一个 Linux 与 FPGA 之间的快速接口,考虑高速的特性,选择了 PCI 接口实现。
FPGA 选择 altera 的 EP2C20F484C8
PCI 接口芯片选择 PLX8311
操作系统选择 ubuntu10.04
1、Linux 检测 PCI
将板卡插入到主机 PCI 插槽内,开机,通过 lspci 命令可以检测到当前系统下所有的 PCI 设备。...
分类:
系统相关 时间:
2014-06-22 14:51:00
阅读次数:
818
一、PCI总线概述
总线是一种传输信号的信道;总线是连接一个或多个导体的电气连线。总线由电气接口和编程接口组成。
PCI是peripheral component interconnect(外围设备互联)的简称,是在桌面及更大型的计算机上普遍使用的外设总线。
PCI总线具有三个非常显著的优点:
1、在计算机和外设间传输数据时具有更好的性能
2、能够尽量独立于具体的平台
3、可以方便地实...
分类:
其他好文 时间:
2014-05-09 01:03:45
阅读次数:
379