背景
Linux内核态操作PCIe配置空间非常方便,接口也比较成熟。本文简单记录一个打印bar空间的函数,入参是标准的pci_dev。打印PCI设备所有BAR(Base Address Register)空间信息。该函数会遍历并打印每个BAR的基址、大小和类型等信息。
代码细节
#include <linux/pci.h>
#include <linux/device.h>
/**
* print_pci_bar_info - 打印PCI设备的所有BAR信息
* @pdev: PCI设备指针
*
* 该函数遍历PCI设备的所有BAR(0-5),并打印每个BAR的相关信息,
* 包括基址、大小和类型(内存或I/O)。
*/
void print_pci_bar_info(struct pci_dev *pdev)
{
int i;
resource_size_t start, size;
const char *type_str;
if (!pdev) {
dev_err

最低0.47元/天 解锁文章
4807

被折叠的 条评论
为什么被折叠?



