Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[General]: Handle_Asynchronous_Event delivers blocked pending IRQs and NMIs

Cerrado
#77 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Área
compilers

Línea de trabajo

Start with the linked Handle_Asynchronous_Event and Current_Event definitions, then inspect their reviewed entries in data/definitions.xml.gz and the related Step definition. Reproduce the cited model checks for IF, MOV-SS, shutdown, and NMI blocking; done means blocked events remain in Current_Event, the helper returns False, and delivery occurs after the condition is removed.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Executable specification issue

Problem

With Current_Event holding a pending external event, Handle_Asynchronous_Event defers an interrupt after STI but otherwise delivers Interrupt_Event without checking IF or MOV-SS blocking. Its NMI path does not test whether NMIs are already blocked. A pending event can therefore be consumed and delivered while the corresponding architectural blocking condition is set.

Concrete case

Use an active thread outside VMX non-root operation, no STI shadow, IF=0 and Current_Event=Interrupt_Event. The helper clears Current_Event and calls Take_Interrupt for an external interrupt. Architecturally the interrupt is inhibited. Similarly, an injected NMI_Event is taken even with Event_Blocked.NMI_BLOCKED already true.

Expected behavior and references

References use Intel SDM 325462-093, checked on 2026-10-01. PDF page numbers below refer to the combined manual.

Source

Source checked at Intel SDM repository commit b5218b0f1cf512304d4b3cb364433a08fcee47cb.

The helper links are the readable current pages. Their reviewed definitions are in the compressed definition database at the pinned commit.

Suggested correction

Before delivery, defer a maskable interrupt when IF=0, MOV-SS blocking is active, or the thread is shut down. Defer an NMI when NMI blocking or MOV-SS blocking is active. In either case, restore the pending event to Current_Event and return False. Retain the existing STI handling.

Evidence

Model checks place pending IRQs and NMIs in Current_Event while the corresponding blocking conditions are set. The corrected helper returns False, preserves the pending event and leaves the stack unchanged. After the blocking condition is removed, the event reaches its handler. Source inspection shows the original helper lacks the IF, MOV-SS and NMI-blocking checks needed for these cases.

AI disclosure

Assisted by Codex

Lenguaje dominante
HTML
Estrellas
57
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de intel/SDM

Todos los issues de intel/SDM

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.