Partager via


Erreur d’injection (index de fonction 17)

Cette _DSM interface pour la fonction Byte Addressable Energy Backed Function (Function Interface 1) injecte des erreurs dans le microprogramme du module NVDIMM-N. L’objectif de cette fonction est d’activer la validation logicielle. La plateforme peut choisir d’activer uniquement l’injection d’erreurs dans des scénarios spécifiques ; par exemple, une fois que l’utilisateur a configuré un paramètre BIOS. L’hôte peut appeler l’état d’injection d’erreur de requête (index de fonction 16) pour savoir si les fonctions d’injection d’erreur sont activées ou non.

Les registres sont définis dans la spécification De l’interface d’énergie adressable byte.

Entrée

Arg3

Champ Longueur des octets Décalage d’octet S’inscrire Description
Échecs de l’opération d’injection 2 0 Octet 0 : INJECT_OPS_FAILURES (2, 0x60) ; Octet 1 : si INJECT_BAD_BLOCKS est 1 (bit 7 de l’octet 0), ce champ est INJECT_BAD_BLOCK_CAP (2, 0x67). Sinon, il doit être 0. Spécifie les opérations ou les erreurs de mémoire non volatiles qui seront injectées.
Défaillances de la source d’énergie injectée 1 2 Octet 0 : INJECT_ES_FAILURES (2, 0x64) Spécifie les erreurs de source d’énergie (ES) qui seront injectées.
Échecs de mise à jour du microprogramme d’injection 1 3 Octet 0 : INJECT_FW_FAILURES (2, 0x65) Spécifie les erreurs d’opération du microprogramme qui seront injectées.

Sortie

Champ Longueur des octets Décalage d’octet Description
État 4 0 Cette fonction peut retourner les codes d’erreur Function-Specific suivants : 1 : L’injection d’erreur est désactivée. 2 : Une ou plusieurs erreurs n’ont pas pu être injectées, car elles ne sont pas prises en charge. Pour plus d’informations, consultez sortie de méthode _DSM.

Notes

Toutes les erreurs qui ont été injectées avec succès resteront injectées lors du retour Function-Specific code d’erreur 2. Si cette fonction retourne l'Function-Specific code d’erreur 2, appelez Get Injected Errors (Function Index 18) pour récupérer les erreurs qui n’ont pas pu être injectées.

Remarques

Certaines fonctionnalités d’injection d’erreurs sont facultatives et peuvent ne pas être prises en charge par l’appareil. Pour obtenir la liste des injections d’erreurs facultatives, reportez-vous à la spécification JEDEC de l’interface d’énergie adressable byte appropriée.

La plateforme doit détecter si l’hôte a tenté d’injecter une erreur qui n’est pas prise en charge. Pour ce faire, il écrit dans le registre d’injection d’erreurs, puis lit le même registre & vérifie si tous les bits prévus sont définis ou non. Par exemple, la plateforme effectue les opérations suivantes pour injecter des défaillances opérationnelles :

  1. Écrit la valeur de l’octet 0 du champ Inject Operation Failures dans le registre INJECT_OPS_FAILURES .

  2. Lit le registre INJECT_OPS_FAILURES .

  3. Si la nouvelle valeur de INJECT_OPS_FAILURES correspond à l’octet 0 du champ Échecs de l’opération d’injection , retourne success. Sinon, retournez le Function-Specific code d’erreur 2.