7.5.3.15 Device Capabilities 2 Register (Offset 24h)
Figure 7-36 Device Capabilities 2 Register

Table 7-31 Device Capabilities 2 Register
Bit Location | 寄存器描述 | 属性 |
3:0 | 完成超时范围支持 - 此字段指示设备功能是否支持可选的完成超时可编程机制。该机制允许系统软件修改完成超时值。此字段仅适用于根端口、代表自身发出请求的端点以及接管在PCI Express上发出的请求的PCI Express到PCI/PCI-X桥。对于所有其他功能,此字段保留,必须硬连线为0000b。 定义了四个超时值范围: - 范围A:50 μs到10 ms - 范围B:10 ms到250 ms - 范围C:250 ms到4 s - 范围D:4 s到64 s 根据下表设置位,以显示支持的超时值范围: - 0000b:不支持完成超时编程-Function 需要实现 50us ~ 50ms 的超时时间值 - 0001b:范围A - 00010b:范围B - 0011b:范围A和B - 0110b:范围B和C - 0111b:范围A、B和C - 1110b:范围B、C和D - 1111b:范围A、B、C和D 所有其他值为保留 强烈建议完成超时机制的超时时间不要少于10 ms。 | HwInit |
4 | 完成超时禁用支持 - 当值为1b时,表示支持完成超时禁用机制。 完成超时禁用机制对于代表自身发出请求的端点以及接管在PCI Express上发出的请求的PCI Express到PCI/PCI-X桥是必需的。对于根端口,此机制是可选的。 对于所有其他功能,此字段保留,必须硬连线为0b。 | RO |
5 | ARI转发支持 - 仅适用于交换下游端口和根端口;对于其他功能类型,此位必须为0b。如果交换下游端口或根端口支持此可选功能,则此位必须设置为1b。有关更多细节,请参见第6.13节。 | RO |
6 | 原子操作路由支持 - 仅适用于交换上游端口、交换下游端口和根端口;对于其他功能类型,此位必须为0b。如果端口支持此可选功能,则此位必须设置为1b。有关更多详细信息,请参见第6.15节。 | RO |
7 | 32位原子操作完成者支持 - 适用于具有内存空间基址寄存器(BAR)的功能以及所有根端口;对于其他情况,此位必须为0b。包括 FetchAdd、Swap 和 CAS 原子操作。如果功能支持此可选能力,则此位必须设置为1b。有关附加的请求完成(RC)要求,请参见第6.15.3.1节。 | RO |
8 | 64位原子操作完成者支持 - 适用于具有内存空间基址寄存器(BAR)的功能以及所有根端口;对于其他情况,此位必须为0b。包括 FetchAdd、Swap 和 CAS 原子操作。如果功能支持此可选能力,则此位必须设置为1b。有关附加的请求完成(RC)要求,请参见第6.15.3.1节。 | RO |
9 | 128位CAS完成器支持 - 适用于具有内存空间基址寄存器(BAR)的功能以及所有根端口;对于其他情况,此位必须为0b。如果功能支持此可选能力,则此位必须设置为1b。有关更多细节,请参见第6.15节。 | RO |
10 | No RO-enabled PR-PR Passing - 如果此位被设置,路由元素将不会执行与宽松排序属性字段被设置相关的表2-40条目A2b允许的传递。 此位仅适用于支持根端口间点对点流量的交换和RC。此位仅适用于通过交换或RC转发的发布请求,不适用于在交换或RC内起始或终止的流量。交换或RC上的所有端口必须报告相同的值。对于所有其他功能,此位必须为0b。 | HwInit |
11 | LTR机制支持 - 1b的值表示支持可选的延迟容忍报告(LTR)机制。根端口、交换和端点被允许实现此功能。对于与上游端口关联的多功能设备,每个功能必须报告相同的值。对于不实现此功能的桥接器和其他功能,此位必须硬连线为0b。 | RO |
13:12 | TPH完成器支持 - 该值指示完成者对TPH(TLP Process Host)或扩展TPH的支持。仅适用于根端口和端点。对于所有其他功能,此字段为保留位。 00b:保留 01b:不支持TPH和扩展TPH完成器 10b:支持TPH完成器;不支持扩展TPH完成器 11b:支持TPH和扩展TPH完成器(保留) 有关详细信息,请参见第6.17节。 | RO |
15:14 | LN System CLS - 仅适用于根端口和RCRB;对于所有其他功能类型,此字段必须为00b。该字段指示根端口或RCRB是否支持LN协议作为LN完成器,以及当前生效的缓存行大小。 00b:LN完成器未支持或未生效 01b:LN完成器支持64字节缓存行 10b:LN完成器支持128字节缓存行 11b:保留 | HwInit |
16 | 10位标记完成者支持 - 如果此位被设置,则表示该功能支持10位标记完成者能力;否则,该功能不支持。有关详细信息,请参见第2.2.6.2节。 | HwInit |
17 | 10位标记请求者支持 - 如果此位被设置,则表示该功能支持10位标记请求者能力;否则,该功能不支持。若10位标记完成者支持位未设置,此位不得被设置。如果功能是RCiEP,则如果RC不支持10位标记完成者能力,该位必须保持清除。请注意,10位标记字段生成必须由请求者功能的设备控制2寄存器中的10位标记请求者启用位启用。有关详细信息,请参见第2.2.6.2节。 | HwInit |
19:18 | OBFF支持 - 该字段指示是否支持OBFF,并且如果支持,所使用的信令机制是什么。 - 00b:不支持OBFF - 01b:仅使用消息信令支持OBFF - 10b:仅使用WAKE#信令支持OBFF - 11b:同时使用WAKE#和消息信令支持OBFF 如果该字段中报告的值必须仅指示对WAKE#信令的支持,条件如下: - 对于下游端口,支持驱动OBFF的WAKE#信令并且已知连接的下游连接器或组件接收同一WAKE#信令 - 对于上游端口,支持接收OBFF的WAKE#信令,并且如果组件位于插卡上,则该组件连接到连接器上的WAKE#信令 根端口、交换端口和端点可以实现此功能。 对于与上游端口关联的多功能设备,每个功能必须报告该字段的相同值。 对于不实现此功能的桥接器和端口,该字段必须被硬连线到00b。 | HwInit |
20 | 扩展格式字段支持 - 如果此位被设置,则表示该功能支持3位定义的格式字段(Fmt字段)。如果此位未设置,则表示该功能支持2位定义的Fmt字段。有关详细信息,请参见第2.2节。 - 对于支持端到端事务层前缀(End-End TLP Prefixes)的功能,该位必须设置。 - 上游端口中的所有功能必须具有相同的该位值。 - 组件的每个下游端口可以具有不同的该位值。 强烈建议功能支持3位定义的Fmt字段。 | RO |
21 | 端到端事务层前缀支持 - 指示功能是否提供端到端事务层前缀(End-End TLP Prefix)的支持。值如下: - 0b 不支持:不提供端到端TLP前缀的支持。 - 1b 支持:支持接收包含端到端TLP前缀的TLP。 交换的所有端口必须具有相同的该位值 | HwInit |
23:22 | 最大端到端TLP前缀 - 指示此功能支持的最大端到端TLP前缀数量。有关重要细节,请参阅第2.2.10.2节。取值如下: - 01b:1个端到端TLP前缀 - 10b:2个端到端TLP前缀 - 11b:3个端到端TLP前缀 - 00b:4个端到端TLP前缀 如果端到端TLP前缀支持标志未设置,则该字段视为保留字段(RsvdP)。 具有设置端到端TLP前缀支持位的不同根端口允许报告该字段的不同值。 对于支持端到端TLP前缀的交换,该字段必须为00b,表示支持最多四个端到端TLP前缀。 | HwInit |
25:24 | Emergency Power Reduction 支持 - 指示对可选Emergency Power Reduction 状态(Emergency Power Reduction State)功能的支持级别。此功能允许在不涉及系统软件的情况下,通过机箱请求附加卡迅速进入Emergency Power Reduction 状态,从而降低功耗。有关详细信息,请参见第6.25节。 取值如下: - 00b:不支持Emergency Power Reduction 状态 - 01b:支持Emergency Power Reduction 状态,并通过设备特定机制触发 - 10b:支持Emergency Power Reduction 状态,并可通过对应的形式因数规范定义的机制或设备特定机制触发 - 11b:保留 对于不关联上游端口的功能,此字段为保留字段(RsvdP)。对于与上游端口关联的多功能设备,所有报告非零值的功能必须报告相同的非零值。默认值为00b。复位后,一旦此字段返回非零值,它必须保持相同的非零值,直到下一次复位。 | HwInit |
26 | Emergency Power Reduction 初始化要求 - 如果设置,则表示功能在退出Emergency Power Reduction 状态后需要完全或部分初始化。如果清除,则表示功能在退出Emergency Power Reduction 状态后无需软件干预即可恢复正常操作。有关详细信息,请参见第6.25节。 对于与上游端口关联的多功能设备,所有功能必须报告相同的值。对于不关联上游端口的功能,此字段为保留字段(RsvdP)。默认值为0b。复位后,当此字段返回非零值时,必须保持相同的非零值。 | HwInit |
31 | FRS支持 - 如果设置,则表示支持可选的功能就绪状态(Function Readiness Status,FRS)能力。 - 设置:表示支持FRS消息的生成或接收能力。 - 未设置:表示不支持FRS消息的生成或接收,尤其是交换功能本身不生成FRS消息。 对于支持FRS消息生成或接收的所有功能,必须设置此位。对于不生成FRS消息的交换功能,则不得设置此位。 | HwInit |
实现注意事项:使用No RO-enabled PR-PR Passing位
No RO-enabled PR-PR Passing位允许平台在请求者和补全者之间的路径上利用PCI Express交换元素,这可以从稍微不那么宽松的排序模型中受益。一个例子是一个设备,不能确保多个重叠张贴到同一个地址在同一时间是杰出的。使这样一个设备能够利用这种模式的方法超出了本规范的范围。
夜雨聆风