zoukankan      html  css  js  c++  java
  • PCIe 中的Capability 结构的寻址

    PCI-X 和PCIe 总线规范要求其设备必须支持Capabilities 结构。在PCI 总线的基本配置空间中,包含一个Capabilities Pointer 寄存器,该寄存器存放Capabilities 结构链表的头指针。在一个PCIe 设备中,可能含有多个Capability 结构,这些寄存器组成一个链表,如下图所示。

     其中每一个Capability 结构都有唯一的ID 号,每一个Capability 寄存器都有一个指针,这个指针指向下一个Capability 结构,从而组成一个单向链表结构,这个链表的最后一个Capability 结构的指针为0。链表开始的指针地址为0x34处的1byte数值,寻址过程如下。

     

    1. We look at address 34h and see the address of the next capability register set (50h).

    Start.jpg

    2. We jump to 50h and see a capability ID of 05h (MSI Capability Structure).  We look at the next capability pointer in 51h to find which address to jump to next (78h).

    Msi.jpg

    3. We jump to 78h and see a capability ID of 01h (Power Management Capability Structure). We look at the next capability pointer in 79h to find which address to jump to the next (80h).

    Pm.jpg

    4. We jump to 80h and see a capability ID of 10h (PCI Express Capability Structure). We see 00h as the next capability pointer in 81h signifying the end of the linked list.

    Pcie.jpg

    参考:http://www.alterawiki.com/wiki/PCI_Configuration_Space

  • 相关阅读:
    java8 日期时间之间的关系
    redis bind连不上的坑
    mysql 表结构转excel表格
    软件工程实践总结
    Beta答辩总结
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
  • 原文地址:https://www.cnblogs.com/zhongzhe/p/3900111.html
Copyright © 2011-2022 走看看