bochs默认没有pci的
这篇帖子问得很清楚:
------------------------------------------------------------------------------------------------------------------------------------------------------
各位,在bochs里面能模拟PCI设备吗?
在使用bochs调试时,发现在整个启动过程中没看到向VPC启动时/电脑启动时的自检过程,那BIOS的信息该从哪里获取?PCI设备一般是对CF8、
CFC进行读写来获取BIOS中PCI设备配置空间里的信息的,那通过bochs,这个过程还会一样吗?本人曾做过一个测试,向CF8发送
0x80000000(循环每次加0800),但从CFC中得到的结果全部为0xFFFFFFFF,也就是没检测到PCI设备,这个我是很奇怪的(我的网
卡就是插在PCI插槽上的并工作正常)。那是不是用bochs模拟的话,对PCI设备的检测(配置空间信息)是采用另外一套方式?请各位不吝指教,谢谢。
http://www.oldlinux.org/oldlinux/viewthread.php?tid=12435
------------------------------------------------------------------------------------------------------------------------------------------------------
跟我测试的现象一样。网上有在windows系统的bochs上使用pci的文章,要用到niclist.exe。下面摘自这篇帖子:bochs中使用pci设备(原创)
------------------------------------------------------------------------------------------------------------------------------------------------------
从bochs(当前版本2.3.6)官方网站上下载的安装包已经支持pci了,如果自己编译,
不要忘了加上--enable-pci, --enable-pcidev, --enable-pnic, --enable-ne2000
反正自己看着办了。
x:\Program Files\Bochs-2.3.6\目录下面有个niclist.exe,运行它,我的pc上输出是:
------------------------------------------------
1: Adapter for generic dialup and VPN capture
Device: \Device\NPF_GenericDialupAdapter
2: Intel(R) PRO/100 VE Network Connection
Device: \Device\NPF_{8654F86D-F1C7-45D8-BC61-3D203F997D85}
Example config for bochsrc:
ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=\Device\N
PF_GenericDialupAdapter
Press any key to continue
------------------------------------------------
表示以太网设备是‘\Device\NPF_{8654F86D-F1C7-45D8-BC61-3D203F997D85}’
修改bochs配置文件,加上或打开:
i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
pcidev: vendor=0x1234, device=0x5678
ne2k: ioaddr=0x300, irq=10, mac=00:c4:3B:00:C3:00, ethmod=win32, ethdev=\Device\NPF_{8654F86D-F1C7-45D8-BC61-3D203F997D85}
这样我们就可以在bochs使用pci bios探测pci设备了。
可以参考:linux-2.6.10/arch/i386/pci/pcibios.c中的代码
------------------------------------------------------------------------------------------------------------------------------------------------------
两个问题:
1,我在编译bochs时候是加了--enable-pci的,但bochs启动时,在shell的输出信息里有两行
PCI support: no, enabled=yes
Bochs is not compiled with PCI support
2,linux的bochs 2.6文件夹下有niclist.c这个源文件,我试着编译了一下,报错:只能在win平台下运行。那linux下该怎么获取显卡路径?而且,其它pci设备路径又怎么获取?需要获取吗?先记下。
posted on 2013-07-04 09:01 weiweishuo 阅读(923) 评论(0) 编辑 收藏 举报