龙芯软件开发(23)-- PCI设备初始化

目前在个人电脑里,主板上使用局部总线技术把不同的设备连接在一起,这样就可以随时添加设备到总线上。比如主板上一般都有很多 PCI 插槽,可以插入显示卡、声卡、网卡以及符合 PCI 总线标准的其它设备。当然,还有很多低速的外围设备不能直接跟 PCI 局部总线相连接的,比如 IDE 硬盘、软盘、 USB 、键盘、鼠标等等,这样就需要一样东西把这些设备转换才能连接到 PCI 局部总线上,这个东西就是南桥的芯片。在龙芯电脑里采用的南桥是 VT82C686 ,在汇编已经初始化它的串口输出,在这里会更进一步初始化其它功能。现在就来看代码,分析它怎么样实现的。如下:
 
void
tgt_devinit ()
{
    SBD_DISPLAY("686I",0);
 
    vt82c686_init();
上面调用函数进行南桥更进一步初始化。
 
    /*
    * Gather info about and configure caches.
    */
    if(getenv("ocache_off")) {
       CpuOnboardCacheOn = 0;
    }
    else {
       CpuOnboardCacheOn = 1;
    }
    if(getenv("ecache_off")) {
       CpuExternalCacheOn = 0;
    }
    else {
       CpuExternalCacheOn = 1;
    }
上面根据环境变量来选择缓存的配置。
 
 
    CPU_ConfigCache();
上面缓存配置。
 
 
    _pci_businit(1); /* PCI bus initialization */
上面进行 PCI 局部总线上的设备初始化。
 
 
}
 
先来仔细地分析更进一步初始化南桥的功能,它的代码如下:
void vt82c686_init(void)
{
    initSerial();
上面初始化串口。
 
    init_keyboard();
上面初始化键盘输入。
 
    initIDE();
上面初始化 IDE 硬盘。
 
    initIRQ();
上面初始化外面中断请求。
 
    //disable_usb();
    enable_io_decode();
上面设置 IO 开始启用。
 
    initUSB();
上面初始化 USB 主设备。
 
}
 
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值