PCIe 配置空间:Command 寄存器

在 type 0 header 中,command 寄存器的位置如下图所示:
在这里插入图片描述

在 type 1 header 中,command 寄存器的位置如下图所示:
在这里插入图片描述

Command 寄存器的结构如下图:
在这里插入图片描述

对于 PCIe,只有 Bit 0/1/2/6/8/10 是有效的,其他必须配置为 0 。

  • IO Space Enable
    • 该位用于控制设别如何响应 I/O 空间的访问请求。
    • 该位为 0 时,设备不会响应 I/O 空间访问请求。
    • 该位为 1 时,设备正常响应 I/O 空间访问请求。
    • 复位后,默认为 0 。

  • Memory Space Enable
    • 该位用于控制设别如何响应 Memory 空间的访问请求。
    • 该位为 0 时,设备不会响应 Memory 空间访问请求。
    • 该位为 1 时,设备正常响应 Memory 空间访问请求。
    • 复位后,默认为 0 。

  • Bus Master Enable
    • Endpoint
      • 该位决定了设备能否发出 Memory 读写请求、I/O 读写请求。
      • 该位为 1 时,允许设备发出 Memory 读写请求、I/O 读写请求。
      • 该位为 0 时,不允许设备发出 Memory 读写请求、I/O 读写请求。
      • MSI/MSI-X 中断消息属于 Memory 写请求,因此该位为 0 时,设备无法产生 MSI 或 MSI-X 中断消息。
      • 除了 Memory 读写请求和 I/O 读写请求,其他类型的请求不受该位控制。
      • 默认值为 0。

    • Root Port & Switch
      • 该位决定了设备能否将 Memory 读写请求和 I/O 读写请求转发至上游方向(Upstream Direction)。
      • 该位为 0 时,Root Port 或者 Switch 的 Downsteam 端口收到 Memory 请求和 I/O 请求后,应该按照 Unsupported Requests(UR)处理。对于收到的 Non-Posted 请求,应该向 Requester 发送一个 UR Completion 状态位置位的 Completion。
      • 该位并不会影响 Completion 的转发。
      • 除了 Memory 读写请求和 I/O 读写请求,其他类型的请求不受该位控制。
      • 默认值为 0。

  • Parity Error Response
    • 该位决定了是否使用 status 寄存器的 Master Data Parity Error 位对 Poisoned TLP 进行记录。
    • 该位为 1时,如果有 Poisoned TLP,则将 status 寄存器的 Master Data Parity Error 位设置为 1。

  • SERR# Enable
    • 对于 Endpoint,该位为 1 时,设备可以向 Root Complex 发送 ERR_FATAL 和 ERR_NONFATAL 错误消息。
    • 对于 Switch,该位为 1 时,设备可以将 ERR_FATAL 和 ERR_NONFATAL 错误消息转发到上游总线。
    • ERR_COR 消息不受该位控制。

  • Interrupt Disable
    • 该位用于控制设备能否产生 INTx 中断。
    • 该位为 1 时,不允许设备产生 INTx 中断。
    • 默认值为 0。
  • 6
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCIe配置空间寄存器PCI Express总线设备中的一种特殊类型的寄存器,用于配置和管理设备的功能和属性。每个PCIe设备都有一个配置空间,该空间包含了设备的配置信息和功能寄存器,这些信息和寄存器可以被系统软件读取和写入,用于进行设备的初始化和控制。 配置空间寄存器使用了标准的PCI配置空间寄存器格式,包括设备ID、供应商ID、命令和状态寄存器等。通过读取和设置这些寄存器的值,系统软件可以访问和控制PCIe设备的各种功能。 配置空间寄存器的结构和布局是由PCIe规范定义的,包含了设备的通用配置数据、功能寄存器和扩展配置区域。其中通用配置数据包括了设备的基本信息,如设备类型、供应商标识、设备标识等。功能寄存器用于控制和管理设备的功能,如启用或禁用设备、设置中断和总线驱动程序等。扩展配置区域用于存储设备特定的配置信息,各个设备的扩展配置区域的结构和内容是不同的,由设备厂商自行定义。 系统软件可以通过访问PCIe配置空间寄存器来获取设备的配置信息,如设备名称、设备类型、硬件ID等,还可以进行设备的初始化和配置,如设定中断线路、分配资源等。一般情况下,操作系统和驱动程序会使用配置空间寄存器来与PCIe设备进行通信和管理,以实现设备的正常工作和使用。 总之,PCIe配置空间寄存器PCI Express总线设备中用于配置和管理设备的一种寄存器,通过读取和设置其中的值,系统软件可以访问和控制设备的各种功能。这些配置空间寄存器的结构和布局是由PCIe规范定义的,不同设备的配置信息和功能也各不相同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值