Vérification de bogue 0xF2 : HARDWARE_INTERRUPT_STORM

Le contrôle de bogue HARDWARE_INTERRUPT_STORM a la valeur 0x000000F2. Cela indique que le noyau a détecté une tempête d’interruption.

Important

Cette rubrique s’adresse aux développeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de votre ordinateur, consultez résoudre les erreurs d’écran bleu.

Paramètres HARDWARE_INTERRUPT_STORM

Paramètre Description
1 Adresse de l’ISR (ou du premier ISR de la chaîne) connectée au vecteur d’interruption de la tempête
2 Valeur de contexte ISR
3 Adresse de l’objet d’interruption pour le vecteur d’interruption de tempête
4 0x1 si l’ISR n’est pas chaîné, 0X2 si l’ISR est chaîné

Cause

Cette vérification des bogues indique que le noyau a détecté une tempête d’interruption. Une tempête d’interruption est définie en tant que signal d’interruption déclenché par un niveau qui reste dans l’État déclaré. Cela est fatal au système de la manière dont le système se bloque, ou « verrouillage de bus ».

Cela peut se produire pour les raisons suivantes :

  • Une partie du matériel ne libère pas son signal d’interruption après avoir été invité par le pilote de périphérique.
  • Un pilote de périphérique ne demande pas à son matériel de libérer le signal d’interruption, car il ne pense pas que l’interruption a été lancée à partir de son matériel.
  • Un pilote de périphérique prétend l’interruption même si l’interruption n’a pas été lancée à partir de son matériel. Notez que cela peut se produire uniquement lorsque plusieurs appareils partagent la même IRQ.
  • Le ELCR (registre de contrôle de niveau Edge) n’est pas défini correctement.
  • Les appareils de déclenchement d’interruption de niveau et de périphérie partagent une IRQ.

Tous ces cas bloquent instantanément votre système. Au lieu de suspendre le système, cette vérification d’bogue est lancée car dans de nombreux cas, elle peut identifier le coupable.

Lorsque la vérification de bogue se produit, le module contenant l’ISR (routine de service d’interruption) de l’IRQ d’échange de la ressource s’affiche à l’écran. Voici un exemple de ce que vous pouvez voir :

*** STOP: 0x000000F2 (0xFCA7C55C, 0x817B9B28, 0x817D2AA0, 0x00000002)
An interrupt storm has caused the system to hang.
*** Address FCA7C55C base at FCA72000, Datestamp 3A72BDEF - ACPI.sys

Dans le cas où le quatrième paramètre est un 0x00000001, le module pointé est très probablement le coupable. Soit le pilote est endommagé, soit le matériel ne fonctionne pas correctement.

Dans le cas où le quatrième paramètre est un 0x00000002, le module pointé est le premier ISR de la chaîne, et il n’est jamais garanti être le coupable.

Résolution

Un utilisateur qui rencontre cette vérification à plusieurs reprises doit essayer d’isoler le problème en recherchant les appareils qui se trouvent sur la même IRQ que celui pour lequel le module est un pilote pour (dans ce cas, la même IRQ que celle utilisée par ACPI).