Поделиться через


Ошибка внедрения (индекс функции 17)

Этот интерфейс _DSM для функции класса функции с поддержкой байтовой адресуемой энергии (интерфейс функции 1) внедряет ошибки в встроенное ПО модуля NVDIMM-N. Эта функция предназначена для включения проверки программного обеспечения. Платформа может включить внедрение ошибок только в определенных сценариях; Например, после того, как пользователь настроит параметр BIOS. Узел может вызвать состояние внедрения ошибки запроса (индекс функции 16), чтобы узнать, включены ли функции внедрения ошибок.

Регистры определяются в спецификации интерфейса с поддержкой байтовой адресуемой энергии.

Входные данные

Arg3

Поле Длина байтов Смещение в байтах Регистрация Описание
Сбои операций внедрения 2 0 Байт 0: INJECT_OPS_FAILURES (2, 0x60); Байт 1. Если INJECT_BAD_BLOCKS равно 1 (бит 7 байта 0), это поле будет INJECT_BAD_BLOCK_CAP (2, 0x67). В противном случае значение должно быть 0. Указывает, какие операции или энергонезависимые ошибки памяти будут внедрены.
Сбои при внедрении источника энергии 1 2 Байт 0: INJECT_ES_FAILURES (2, 0x64) Указывает, какие ошибки источника энергии (ES) будут внедрены.
Внедрение ошибок обновления встроенного ПО 1 3 Байт 0: INJECT_FW_FAILURES (2, 0x65) Указывает, какие ошибки операции встроенного ПО будут внедрены.

Выходные данные

Поле Длина байтов Смещение в байтах Описание
Состояние 4 0 Эта функция может возвращать следующие Function-Specific коды ошибок: 1: внедрение ошибок отключено. 2: не удалось внедрить одну или несколько ошибок, так как они не поддерживаются. Дополнительные сведения см. в разделе Выходные данные метода _DSM.

Примечание

Все ошибки, которые были успешно внедрены, останутся внедренными при возврате Function-Specific код ошибки 2. Если эта функция возвращает Function-Specific код ошибки 2, вызовите Get Injected Errors (Function Index 18), чтобы получить, какие ошибки не удалось внедрить.

Комментарии

Некоторые функции внедрения ошибок являются необязательными и могут не поддерживаться устройством. Список необязательных внедрений ошибок см. в соответствующей спецификации JEDEC интерфейса JEDEC с поддержкой байтов.

Платформа должна определить, не пытался ли узел внедрить ошибку, которая не поддерживается. Это делается путем записи в регистр внедрения ошибок, а затем считывания того же регистра & проверки того, установлены ли все предполагаемые биты. Например, платформа выполняет следующие действия для внедрения операционных сбоев:

  1. Записывает значение Byte 0 поля "Сбои операции внедрения" в регистр INJECT_OPS_FAILURES .

  2. Считывает регистр INJECT_OPS_FAILURES .

  3. Если новое значение INJECT_OPS_FAILURES совпадает с byte 0 поля "Сбои операции внедрения ", возвращается успешное выполнение. В противном случае верните Function-Specific код ошибки 2.