pci/pcie
文章平均质量分 88
滨边美波她男友
范进中举
展开
-
PCI BAR寄存器详解(二 实例讲解)
前言下面以一个实际项目,讲解 PCI 驱动程序和 BAR 空间的相关操作函数。一、驱动程序加载与卸载static const struct pci_device_id pci_ids[] = { { PCI_DEVICE(0x1DED, 0x1020), }, {0,}};MODULE_DEVICE_TABLE(pci, pci_ids);static struct pci_driver pci_driver = { .name = DRV_NAME, .id_table = p原创 2022-05-28 11:30:12 · 4033 阅读 · 1 评论 -
PCI BAR寄存器详解(一)
一、PCI 设备的配置空间其中Device ID和Vendor ID是区分不同设备的关键,OS 在很多时候就是通过匹配他们来找到不同的设备驱动(Class Code有时也起一定作用)。我们重点来了解一下这些Base Address Registers(BAR)。BAR是PCI配置空间中从0x10 到 0x24的6个register,用来定义PCI需要的配置空间大小以及配置PCI设备占用的地址空间。该组寄存器简称为 BAR 寄存器, BAR 寄存器保存 PCI 设备使用的地址空间的基地址,该基地址保存原创 2022-05-26 14:39:44 · 5039 阅读 · 4 评论 -
lspci 详解 pci 拓扑结构 与 pci 树形结构
一、PCIE 拓扑结构硬盘是大家都很熟悉的设备,一路走来,从HDD到SSD,从SATA到NVMe,作为NVMe SSD的前端接口,PCIe再次进入我们的视野。作为x86体系关键的一环,PCIe标准历经PCI,PCI-X和PCIe,走过近30年时光。其中Host发现与查找设备的方式却一脉沿袭,今天我们先来聊一聊PCIe设备在一个系统中是如何发现与访问的。首先我们来看一下在x86系统中,PCIe是什么样的一个体系架构。下图是一个PCIe的拓扑结构示例,PCIe协议支持256个Bus, 每条Bus最多支持32原创 2022-05-06 10:50:50 · 8452 阅读 · 5 评论