PCI设备管理

复杂度3/5
机密度4/5

最后更新2021/04/20

本文以PCI设备为例,介绍一下AIX如果对设备进行初始化。如果大家已经阅读了其它介绍,应当大概知道AIX初始化设备是按照设备关系树由父设备到子设备依次遍历各个节点的,那么具体是怎样的?下面假设从某个设备PCI0开始。

pci0在aix中代表一个pci槽位,初始化pci槽位的驱动程序(PCI总线驱动)在执行初始化过程时会通过PAL(Power Abstrict Layer硬件管理微码)操作获得该槽位硬件卡的参数信息,例如设备类型(名称),中断类型和数量、通信窗口地址等。PCI总线驱动的load程序需要将总线设备置为可用之后,进行依次所谓的查询子设备操作。这个操作就是将以上获得的信息,特别是设备名称写入到ODM CuDv里,也就是生成一个子设备定义。当然,光有CuDv(标注该设备名称和顺序号,既major和minor number)是不够的,还要在CuAt中保存一些基本的配置(位置)参数,以便以后该设备对应的初始化驱动程序能够真正对应上要初始化那个位置的那块卡。如果此卡支持SRIOV或者类似功能,在find children的时候可能会生成多个子设备的定义(包括配置参数),但具体如何完全由驱动自身决定,并没有一定之规。

PCI总线驱动加载程序在退出前要做最后一件事情,那就是把以上定义好的子设备的设备名打印到标准输出。在此要注意一点,驱动加载程序的所有输出信息,不能打印到tty,包括标准输出和标准错误输出,因为stdout和stderr都会向tty写东西,而tty信息被用于cfgmgr去记载以后需要继续初始化哪些设备。如果你随意往tty扔东西࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ensighine

如需特定专题,踢我

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

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

打赏作者

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

抵扣说明:

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

余额充值