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


0xF2 проверки ошибок: HARDWARE_INTERRUPT_STORM

Проверка ошибок HARDWARE_INTERRUPT_STORM имеет значение 0x000000F2. Это означает, что ядро обнаружило бурю прерываний.

Важно!

Эта статья предназначена для программистов. Если вы являетесь клиентом, который получил код ошибки синего экрана во время работы с компьютером, см. статью Устранение ошибок синего экрана.

Параметры HARDWARE_INTERRUPT_STORM

Параметр Описание
1 Адрес ISR (или первый ISR в цепочке), подключенный к вектору прерывания штурма
2 Значение контекста ISR
3 Адрес объекта прерывания для вектора штормового прерывания
4 0x1, если ISR не связана с цепочкой, 0x2, если ISR связан

Причина

Эта проверка ошибок указывает, что ядро обнаружило бурю прерываний. Буря прерываний определяется как сигнал прерывания уровня, который находится в заданном состоянии. Это неустранимо для системы в том случае, когда система будет жестко зависать, или "блокировка автобуса".

Это может произойти из-за следующего:

  • Часть оборудования не выпускает сигнал прерывания после того, как драйвер устройства сообщает об этом.
  • Драйвер устройства не предписывает оборудованию отпустить сигнал прерывания, так как он не считает, что прерывание было инициировано с его оборудования.
  • Драйвер устройства утверждает прерывание, даже если прерывание не было инициировано с оборудования. Обратите внимание, что это может произойти только в том случае, если несколько устройств используют один и тот же IRQ.
  • ELCR (регистр управления на уровне ребер) задан неправильно.
  • Устройства, активированные с прерыванием edge и level, совместно используют IRQ.

Все эти случаи мгновенно жестко повесят вашу систему. Вместо того, чтобы жестко повесить систему, эта проверка ошибок инициируется, так как во многих случаях она может идентифицировать виновника.

При выполнении проверки ошибок на экране отображается модуль, содержащий ISR (подпрограмма обслуживания прерывания) штурмового IRQ. Ниже приведен пример того, что вы увидите:

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

Если четвертый параметр является 0x00000001, скорее всего, виновником является модуль, на который указывает модуль. Либо драйвер не работает, либо оборудование неисправно.

В случае, если четвертый параметр является 0x00000002, модуль, на который указывает, является первым ISR в цепочке и никогда не гарантируется виновником.

Решение

Пользователю, у которого несколько раз возникает эта проверка ошибок, следует попытаться изолировать проблему, искать устройства, которые находятся в том же IRQ, что и модуль , для которого является драйвером (в данном случае это тот же IRQ, который использует ACPI).