PCI-Express(PCIe)是基于PCI和PCI-X的对等2对等互连。最新一代是gen 5.0。 PCIe由PCI-SIG维护和开发。
mmap() 比 write() copy_from_user() 慢,为什么?
我需要将大数据块(~6MB)从用户空间传输到我的驱动程序。在驱动程序中,我使用 pci_alloc_concient() 为每个块分配 2 个 3MB 块。然后我 mmap() 每个块(即 2 个块)t...
FROM_DEVICE DMA 请求在多 CPU 服务器主板上挂起 Linux
我正在开发基于 FPGA 的 PCI Express (PCIe) 设备,该设备应该在 Linux 操作系统下工作,所以我也在编写 Linux 内核驱动程序。该设备的特点之一是可以将数据写入Li...
PCIe MSI 通过 VFIO 和 IOMMU 直接中断到用户空间
我目前正在编写一个用户空间驱动程序以与 Altera PCIe 卡连接。我的目标是尽可能减少最大中断延迟。 我目前正在使用 VFIO_DEVICE_SET_IRQS ioctl
我们有一块嵌入式板,配有 iMX8M-Plus 处理器和 Linux v5.4.161。该板有一条 PCIe 总线,该总线连接到 FPGA。当我们给开发板加电时,FPGA还没有配置...
我正在尝试使用 /dev/mem 读取映射到 PCIe 设备的一些物理地址。 PCIe设备映射到0x387ffa000000: bash# lspci -s 1a:00.0 -v | grep 内存 内存为 387ffa00...
PCI 和 PCIe 是否允许更改 BAR 值以将设备寄存器重新映射到新地址?
(为我之前的问题道歉,我的内核中的代码错误导致BAR的“所需映射空间”值错误,并且误导了我写了错误的问题描述。) 我很困...
dma_set_mask_and_coherent(),具有适用于 arm64 上 PCIe 的 24 位 DMA 掩码
我正在编写 PCIe 驱动程序,但在设置 DMA 掩码时遇到问题。 主机是带有四核 ARM-Cortex A53 的 zcu102。 PCIe 设备是自定义设备。 内核是v5.15.0-1023-xilinx-zyn...
dma_set_mask_and_coherent 具有 24 位 DMA 掩码,适用于 ARM64 上的 PCIe
我正在编写 PCIe 驱动程序,但在设置 DMA 掩码时遇到问题。 主机是带有四核 ARM-Cortex A53 的 zcu102。 PCIe 设备是自定义设备。 内核是 5.15.0-1023-xilinx-zynqmp
我需要开发一个桌面应用程序,使用 PCI-e 驱动程序从 FPGA 板读取/写入数据。驱动程序已经安装,我可以编译所使用的可执行文件的源代码...
众所周知,MSI中的消息数据用于指示您要触发哪个向量。 但是,在 MSI-X 中,不同的向量有不同的消息地址。所以,看起来像 MS 中的消息数据...
我正在寻找一种方法来控制我的PC PCIe 插槽中的smbus 线。该插槽中有一些通过 PCIe 连接的设备。我想在Windows下通过SMBus线访问它,但找不到任何A...
如何解释 MBP 的有关四个 Thunderbolt 端口的“lspci -tv”输出?
我在MacBook Pro 2017上安装了Ubuntu 20.04,它有4个雷电3端口。我还将外部 Thunderbolt 坞站连接到 4 个端口之一。以下是迅雷相关的p...
PCIe 3.0支持原子操作请求(FetchAdd、Swap、CAS)。 我尝试使用内存模型感知原子操作的内置函数从主机生成 PCIe 原子操作请求,但是...
我想在Python代码中检测AMD GPU的代数。我的情况是,要运行特定的应用程序(DaVinci Resolve),需要在Vega之前使用GPU卡的AMDGPU-PRO驱动程序。还有 AMDGPU...
nvidia-smi 和 nvidia x 服务器设置之间的顺序不同
当我运行命令 nvidia-smi 时,我得到以下两个按总线 ID 排序的 GPU: 对于 GPU 0,00000000:0A:00.0 对于 GPU 1,00000000:41:00.0 但是,当我运行 NVIDIA X 服务器设置时,我...
用于设置MSI基地址的结构体地址,它是如何工作的? (在 Xilinx PCIe RC 驱动程序中)
通常在 PCIe RC 侧,S/W 应在 PCIe 核心前面的电路中设置 MSI(消息信号中断)基址寄存器地址,我猜这样 PCIe 核心(或桥接器连接...
最近,我发现lspci 命令无法报告正确的GPU 显存大小。 lspci -v -s 0000:01:00.0 其中 0000:01:00.0 是 GPU 地址,它报告: 内存为 52000000(32 位,非
关于在 FreeBSD 上请求/释放 MSI-X 中断资源的调用顺序的问题
我对在 FreeBSD 上请求/释放 MSI-X 中断资源的调用顺序有一些疑问。 我试过“amd64 FreeBSD 13.1”和“amd64 FreeBSD 13.2”。 当请求 MSI-X
我有一个与 PCIe 板通信的 C++ DLL。我还需要将它集成到 C# 程序中,所以我正在为它编写一个包装器。 DLL 是用 C++ 编写的,因为我有一个给定的测试应用程序...
VFIO PCIe BAR 写入无效。程序执行完成后寄存器值回退
我正在使用以下代码来测试通过 VFIO_PCI API 写入的 PCIe BAR 寄存器。 ` struct vfio_group_status group_status = { .argsz = sizeof(group_status) }; 结构 vfio_device_info