0xF2 de vérification des bogues : HARDWARE_INTERRUPT_STORM

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

Important

Cet article s’adresse aux programmeurs. 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 d’orage
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 de bogue indique que le noyau a détecté une tempête d’interruption. Une tempête d’interruption est définie comme un signal d’interruption déclenché par un niveau restant à l’état affirmé. Cela est irrécupérable pour le système dans la façon dont le système se bloque dur, ou « verrou de bus ».

Cela peut se produire pour les raisons suivantes :

  • Un élément matériel ne libère pas son signal d’interruption après avoir été demandé par le pilote de périphérique.
  • Un pilote de périphérique n’indique pas à son matériel de libérer le signal d’interruption, car il ne croit pas que l’interruption a été lancée à partir de son matériel.
  • Un pilote de périphérique revendique l’interruption même si l’interruption n’a pas été lancée à partir de son matériel. Notez que cela ne peut se produire que lorsque plusieurs appareils partagent la même IRQ.
  • L’ELCR (registre de contrôle au niveau de la périphérie) n’est pas défini correctement.
  • Les appareils déclenchés par l’interruption de périphérie et de niveau partagent une IRQ.

Tous ces cas bloquent instantanément votre système. Au lieu de suspendre le système, cette vérification de 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 de tempête s’affiche à l’écran. Voici un exemple de ce que vous voyez :

*** 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 défectueux, soit le matériel fonctionne mal.

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

Résolution

Un utilisateur rencontrant cette vérification de bogue à plusieurs reprises doit essayer d’isoler le problème en recherchant les appareils qui se trouvent sur la même IRQ que celle pour laquelle le module est un pilote (dans ce cas, la même IRQ que l’ACPI utilise).