ttzwater
驱动小牛
驱动小牛
  • 注册日期2003-06-07
  • 最后登录2011-10-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:1756回复:3

放分求教,在操作系统启动前如何使用PCI桥芯片的基址积存器(9052)

楼主#
更多 发布于:2004-02-03 12:23

想在操作系统其动前对PCI卡上的器件做些设置,现在能把基址寄存器

的值读出来,但是在使用的时候有点问题:

我是这样做的,把DS置为基址寄存器的值,再加上偏移量去访问自己的

板卡,可是访问不了,有哪位大哥知道为什么吗?
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-12 18:55
在OS运行之前是肯定可以访问的PCI器件,不要说是OS就是BIOS运行之前都可以,如果你愿意完成BIOS对PCI设备的初始化的话。
但是你失败了,根据你提供的信息,可能是:
1、I/O资源,你使用了内存访问方法――只是我猜罢了。
2、是内存资源,你使用的也是内存访问方法,但失败了。原因只能是,你处于实模式,但内存资源在1M(16M)以上(BIOS就是这样干的,为了避开与物理内存地址相重,为PCI设备分配的内存地址大于物理内存)
3、。。。。。。
少了e,就少了全部
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-12 18:56
3、是BIOS还没有初始化PCI设备,你也忒早了点。――真的是这样吗?
少了e,就少了全部
ttzwater
驱动小牛
驱动小牛
  • 注册日期2003-06-07
  • 最后登录2011-10-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-07 15:38
我觉得可能是第二种,可是我不会写保护模式的程序啊~~~~

后来改用io方式读写,算是避免了,可是,我最近发现,这个跟还挑机

器,说白了就是跟主板BIOS有关,我现在最怕就是在有的机器上会发生

第三种情况,如果是第三种情况的话有生什么方法可以解决呢?
游客

返回顶部