2013-10-22 2 views
0

여러 등록 된 인터럽트 서비스 루틴간에 IRQ 라인을 공유하는 경우 인터럽트 라인을 올렸을 때 ISR 실행 순서가 결정됩니다.Linux의 공유 IRQ

답변

1

어쨌든 인터럽트 라인이 공유되어 있기 때문에 명령을 예측할 수 없습니다. ISR을 공유하는 동일한 인터럽트 회선에 ISR을 등록하는 시스템의 다른 장치 드라이버가 있습니다 (또는있을 수 있습니다). 따라서 ISR이 호출되는 순서를 추측 할 수 없습니다!

인터럽트 라인이 발생하면 커널은 특정 ISR이 "CLAIMED"를 반환 할 때까지 해당 라인에 대해 등록 된 모든 ISR을 하나씩 호출합니다.

ISR은 장치를 나타내는 소프트 컨텍스트를 가져 오며, 장치가 인터럽트의 원인인지 확인하는 것은 ISR에 달려 있습니다. 그렇다면 ISR은 CLAIMED를 반환하고 그렇지 않으면 CLAIMED를 반환합니다.

관련 문제