在偏移量 > 0x1000 处写入 PCIe 寄存器

在偏移量 > 0x1000 处写入 PCIe 寄存器

我在 Ubuntu 22 上。我有一个 PCIe 设备(Intel H310 LPC),我想写入特定的配置寄存器(GEN_PMCON_A)。

根据数据表(第 174 页),GEN_PMCON_A 寄存器的偏移量为 0x1020:

在此处输入图片描述

然而,我一直认为 PCIe 仅指定了 4096 字节(0x1000)的配置空间,因此 0x1020 超出了该范围。

并且确实setpci无法访问寄存器,并报告地址超出范围(我在setpci源代码中确认了这一点最大值为 0x1000):

# setpci -s 00:1f.0 0x1020.l
setpci: Register number 1020 out of range.

我怎样才能读/写该寄存器?

相关内容