【发布时间】:2012-11-25 12:04:19
【问题描述】:
我有一个模拟 PCI 设备的用户空间程序。我已经下载了使用 NVMe 标准与 PCI 设备交互的 nvme linux 设备驱动程序。我必须验证我的用户空间程序是否与标准兼容。
nvme.c(Linux 设备驱动程序)包含 nvme_probe() 函数,该函数将在插入设备时调用。由于我没有该设备,所以我想我会将探测功能合并到 nvme_init()功能。
现在我在互联网上研究了很多,以了解如何模拟 PCI 设备,例如
Installing PCI driver without connection to device,
emulating a PCI device on linux
我不知道如何将填充的 struct pci_dev 返回到nvme_probe() ofpci_set_drvdata(pdev, dev); 中的函数调用
如果您能推荐一个教程,介绍如何使用虚拟设备配置和用户空间程序函数指针的内存地址手动填充 pci_dev 结构,以模拟与 nvme 驱动程序的交互。
【问题讨论】:
标签: c linux-device-driver emulation pci-e