【发布时间】:2019-09-04 08:00:05
【问题描述】:
您好,我正在尝试使用基于内核的 MMIO 方法访问 PCIe 配置空间。
在我放弃之前,我的平台是 Windows 10,VirtualBox 6.0.10。
我的虚拟机设置为默认值,以下除外:
- 芯片组选择ICH9
- 核心数设置为 4
- 内存设置为 1GB
- 添加了 IDE 控制器(未连接 HD)
开机后,打印显示有效内存地址为:0x0~0x9FC00 和 0x100000~0x3FEF0000,如下图所示。
虽然类型 1 是 RAM,2 是 ROM 或保留,3 是 ACPI 回收内存,4 是 ACPI NVS 内存。
此外,我从 MCFG 中检索了 PCIe 配置内存映射基地址的基地址,如下面的屏幕截图所示。
可以看出:
- 配置空间基数为 0x3F000000,与有效内存空间重叠。
- 0x3F000000~0x3F000008的前8个字节全为0,应该是bus:0, device:0, function:0的前8个字节。
那么我是不应该使用VirtualBox,还是应该做一些其他操作来启用配置空间的PCIe MMIO可访问性?
非常感谢!!
【问题讨论】:
-
一切似乎都是正确的。您是否尝试在 PCI 根桥后面添加任何其他设备?
标签: operating-system virtualbox pci-e acpi