注入错误(功能索引 17)

_DSM接口用于字节可寻址能量支持函数类 (函数接口 1) 函数注入 NVDIMM-N 模块固件中的错误。 此函数的目的是启用软件验证。 平台可以选择仅在特定情况下启用错误注入;例如,在用户配置 BIOS 设置之后。 主机可以调用 查询错误注入状态 (函数索引 16) ,以了解错误注入函数是否已启用。

寄存器在 字节可寻址能量支持接口规范中定义。

输入

Arg3

字段 字节长度 字节偏移量 注册 说明
注入操作失败 2 0 字节 0: INJECT_OPS_FAILURES (2、0x60) ;字节 1:如果 INJECT_BAD_BLOCKS 为字节 0) 的 1 (位 7,则此字段 INJECT_BAD_BLOCK_CAP (2,0x67) 。 否则,应为 0。 指定将注入哪些操作或非易失性内存错误。
注入能源故障 1 2 字节 0: INJECT_ES_FAILURES (2、0x64) 指定将注入哪些能源 (ES) 错误。
注入固件更新失败 1 3 字节 0: INJECT_FW_FAILURES (2、0x65) 指定将注入哪些固件操作错误。

输出

字段 字节长度 字节偏移量 说明
Status 4 0 此函数可以返回以下 Function-Specific 错误代码:1: 错误注入已禁用。 2: 无法注入一个或多个错误,因为它们不受支持。 有关详细信息,请参阅 _DSM 方法输出

注意

返回错误代码 2 时,成功注入的任何错误都将保持注入状态 Function-Specific。 如果此函数返回 Function-Specific 错误代码 2,请调用 “获取注入错误” (函数索引 18) 来检索无法注入的错误。

注解

某些错误注入功能是可选的,设备可能不支持。 有关可选错误注入的列表,请参阅相应的字节可寻址能量支持接口 JEDEC 规范。

平台必须检测主机是否尝试注入不支持的错误。 它通过写入错误注入寄存器,然后读取同一寄存器 & 验证是否设置了所有预期位来达到此目的。 例如,平台执行以下操作来注入操作故障:

  1. 将“ 注入操作失败” 字段的 Byte 0 值写入 INJECT_OPS_FAILURES 寄存器。

  2. 读取 INJECT_OPS_FAILURES 寄存器。

  3. 如果 INJECT_OPS_FAILURES 的新值与 “注入操作失败 ”字段的“字节 0”匹配,则返回成功。 否则,返回 Function-Specific 错误代码 2。