pci-e 相关问题

PCI-Express(PCIe)是基于PCI和PCI-X的对等2对等互连。最新一代是gen 5.0。 PCIe由PCI-SIG维护和开发。

在 Linux 内核代码中调试 PCIe 开关配置

我正在使用 RC 和端点之间的 PCIe 交换机在 x86-64 上调试 PCIe 枚举和配置。我想在 Linux 内核中添加 printks 来观察 CONFIG 0 和 CONFIG 1 TLP 处理。 哪个

回答 1 投票 0

PCI Express AER 驱动程序未将 /dev/aer_inject 作为设备插入

当前使用此站点显示的描述来捕获 PCI-e AER 代码。 与自定义内核编译相关的所有选项均已启用,如下所示 猫 /boot/config-6.8.0-48-gen...

回答 1 投票 0

如何在Linux和x86上重新映射PCIe Bar地址以及配置空间如何分配MMIO?

我对 x86 上的 Linux 中的 PCIe 子系统的详细工作原理存有疑问。 据我所知,要仅使用 mmio 与 PCIe 设备通信,需要执行以下操作: PCIe 配置空间...

回答 1 投票 0

(已解决)Linux下PCIe BAR对齐问题

我在基于 ARMv8 的嵌入式系统上使用内核 5.4.93(带有 Ubuntu 20.04 rootfs)。 “BIOS”是 U-boot,不包括 PCIe 功能,因此 PCIe 总线枚举完全不...

回答 1 投票 0

Windows 如何枚举设备?更具体地说,例如来自 PCIe 卡的视频设备

Windows 将枚举视频设备,因此应用程序可以看到设备列表。 我想知道 Windows 是如何详细做到这一点的,这样我就可以处理设备的顺序。 我希望列表中的设备顺序...

回答 1 投票 0

ARM64。在 mmap() PCIe BAR 返回的地址上调用 memset() 会导致总线错误

我在应用层写了一个非常简单的测试程序。首先,我打开 PCIe 设备,然后 mmap() PCIe BAR 的起始空间。最后,我使用 mmap() 返回的地址,应用一个 o...

回答 1 投票 0

检查管理完成队列正在进入无限循环(NVMe over PCIe)

我正在创建一个 64 位 x86-64 内核,并在我的真机上测试它。在我的 nvme 驱动程序代码中,我正在创建 I/O 完成队列并在第 1 行调用“nvme_admin”函数。第312章(求求你了……

回答 1 投票 0

为什么我的 PCI-e I/O 寄存器读取似乎已被缓存?

我有一个 PCI-e 硬件设备,其中有许多我想要读取和写入的寄存器。 但是,当我读取寄存器时,我将从之前的读取中获取一个值(第一次读取返回

回答 2 投票 0

DMA 读取正常,但 DMA 写入失败

我们正在开发一个Linux主机PCIe驱动程序,用于外部PCIe卡(设备)执行DMA操作。 DMA 控制器位于 PCIe 板上。我们需要通过...将 DMA 地址传递给开发板...

回答 1 投票 0

如何模拟有cpu的pcie设备?

现在,有些 PCIE 设备有一个 cpu,例如:DPU。 我想使用 qemu 来模拟这个设备。 qemu可以支持这个需求吗?

回答 3 投票 0

PCI 功能中 MSI 基地址是如何确定的?

MSI 功能结构有一个基地址寄存器,其中包含设备必须写入的地址以生成消息信号中断。我知道这个地址是由root comple写的...

回答 1 投票 0

Linux:访问 PCIe 状态寄存器

我需要统计Linux中检测到的PCIe可纠正和不可纠正错误的数量。我如何以及从哪里开始? Linux 设备驱动程序是否是计算此类错误的合适方法? 如果...

回答 1 投票 0

多种PCIe物理功能枚举

我想了解Linux内核如何在枚举过程中识别连接的特定PCIe设备支持多种物理功能?有没有具体的配置...

回答 1 投票 0

PCIe BAR 访问

我有一个 FPGA 卡通过 PCIe 插入主机内存。我希望我的主机能够访问卡上的 2GB DDR 内存。这是否意味着我必须请求 2GB 的 BAR 大小? 我的理解是,我...

回答 1 投票 0

MSI可以中断路由到多个CPU吗?

消息信号中断 (MSI) 是一项可选功能,使 PCI 设备能够通过将系统指定的消息写入系统指定的地址(PCI DWORD 内存写入

回答 2 投票 0

如何修改PCI设备初始化时传递给内核的信息字段?

根据这个答案,系统中的PCI/PCIe设备(比如GPU)在使用之前需要经过一个初始化过程: 操作系统内核获取PCI配置寄存器中的值...

回答 1 投票 0

pci_enable_device() 删除/重新扫描后失败

我这里有Linux 4.4(我曾经在一个旧的内核上工作,它以同样的方式失败),带有一个PCIe连接的FPGA设备和一个驱动程序,它们都是我自己设计的。这些一直在起作用...

回答 5 投票 0

如何在Linux终端sysfs中读取PCIe完整寄存器空间

我使用的是 Ubuntu,从终端我可以使用“setpci”、“lspci”或“pciem”读取 PCIe 的 Type 0 配置空间。使用这两个命令我只能

回答 1 投票 0

mmap() 比 write() copy_from_user() 慢,为什么?

我需要将大数据块(~6MB)从用户空间传输到我的驱动程序。在驱动程序中,我使用 pci_alloc_concient() 为每个块分配 2 个 3MB 块。然后我 mmap() 每个块(即 2 个块)t...

回答 1 投票 0

FROM_DEVICE DMA 请求在多 CPU 服务器主板上挂起 Linux

我正在开发基于 FPGA 的 PCI Express (PCIe) 设备,该设备应该在 Linux 操作系统下工作,所以我也在编写 Linux 内核驱动程序。该设备的特点之一是可以将数据写入Li...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.