zoukankan      html  css  js  c++  java
  • 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 FilesBochs-2.3.6目录下面有个niclist.exe,运行它,我的pc上输出是:
    ------------------------------------------------

    1: Adapter for generic dialup and VPN capture
         Device: DeviceNPF_GenericDialupAdapter
    2: Intel(R) PRO/100 VE Network Connection
         Device: DeviceNPF_{8654F86D-F1C7-45D8-BC61-3D203F997D85}

    Example config for bochsrc:
    ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=DeviceN
    PF_GenericDialupAdapter


    Press any key to continue
    ------------------------------------------------
    表示以太网设备是‘DeviceNPF_{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=DeviceNPF_{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设备路径又怎么获取?需要获取吗?先记下。

  • 相关阅读:
    Day03_企业权限管理(SSM整合)
    Day02_企业权限管理(SSM整合)
    Day01_企业权限管理(SSM整合)
    MacOS下ElasticSearch学习(第一天)
    MacOS下Git安装及使用
    Hadoop 之 HDFS
    大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例
    深入浅出爬虫之道: Python、Golang与GraphQuery的对比
    深入浅出分布式文件存储系统之 Ceph 的实现
    Pastebot—剪切板管理工具
  • 原文地址:https://www.cnblogs.com/weiweishuo/p/3170844.html
Copyright © 2011-2022 走看看