使用 Qemu,模拟设备变得非常容易。我经常用它来做一些 Linux 内核研究。在 Archlinux 上,qemu-arch-extra
自带了一堆机器:
$ qemu-system-arm -machine help
Supported machines are:
[..]
cubieboard cubietech cubieboard
emcraft-sf2 SmartFusion2 SOM kit from Emcraft (M2S010)
highbank Calxeda Highbank (ECX-1000)
imx25-pdk ARM i.MX25 PDK board (ARM926)
integratorcp ARM Integrator/CP (ARM926EJ-S)
kzm ARM KZM Emulation Baseboard (ARM1136)
lm3s6965evb Stellaris LM3S6965EVB
lm3s811evb Stellaris LM3S811EVB
mainstone Mainstone II (PXA27x)
midway Calxeda Midway (ECX-2000)
[and more...]
您的任务的一个好方法是为 Qemu 编写一个模拟的 PCI 设备,并在那里进行测试。
鉴于有很多关于使用和扩展 Qemu 的好材料,对此确实没有太多解释。一个快速的谷歌搜索显示了几个很好的资源。这个答案有一些非常有用的提示,这是一个不错的教程。