Есть несколько источников прерваний IRQ 0,1,2... IRQ 0 - самое приоритетное прервание. Как разрешить в системе, чтобы прерывание IRQ 0 могло прервать обработчики всех других прерываний, а остальные IRQ не могли прервать друг друга?
krux
Sep 29 2014, 10:14
Для вас есть разница, каким прерываниям можно прерывать текущий обработчик IRQ, а каким нет? Если разница есть - то придётся использовать Vectored Interrupt Controller.
если нет - то определяйте ALT_LEGACY_INTERRUPT_API_PRESENT и внутри обработчика прерывания, которое может быть прервано другими - пишите
Код
tempcontext= alt_irq_interruptible(id); // Do something which is interruptible alt_irq_non_interruptible(tempcontext);
COMA
Sep 29 2014, 11:23
Разница есть, в системе установлен Vectored Interrupt Controller.
Мне надо сделать так: Есть прерывания с номерами IRQ0, IRQ1, IRQ2. IRQ0 должен прерывать обработчики всех прерываний. IRQ1 и IRQ2 не могут прерывать никакой обработчик.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.