kernel/arm/interrupt.c
/*
 * UnmaskInterrupt();
 *
 * Unmasks an IRQ line.
 * Only MaskInterrupt() and UnmaskInterrupt() system calls should be called from
 * within interrupt handlers.
 */
UnmaskInterrupt();
Unmasks an IRQ line.
Only MaskInterrupt() and UnmaskInterrupt() system calls should be called from
within interrupt handlers.
UnmaskInterrupt () ; Unmasks an IRQ line . Only MaskInterrupt () and UnmaskInterrupt () system calls should be called from within interrupt handlers .
int UnmaskInterrupt(int irq) {
  if (irq < 0 || irq >= NIRQ) {
    return -EINVAL;
  }
  DisableInterrupts();
  if (irq_mask_cnt[irq] > 0) {
    irq_mask_cnt[irq]--;
  }
  if (irq_mask_cnt[irq] == 0) {
    EnableIRQ(irq);
  }
  EnableInterrupts();
  return irq_mask_cnt[irq];
}
int UnmaskInterrupt ( int irq ) { if ( irq < 0 || irq >= NIRQ ) { return - EINVAL ; } DisableInterrupts ( ) ; if ( irq_mask_cnt [ irq ] > 0 ) { irq_mask_cnt [ irq ] -- ; } if ( irq_mask_cnt [ irq ] == 0 ) { EnableIRQ ( irq ) ; } EnableInterrupts ( ) ; return irq_mask_cnt [ irq ] ; }
UnmaskInterrupt();
 Unmasks an IRQ line.
UnmaskInterrupt () ; Unmasks an IRQ line .
//  struct Process *current; //  current = GetCurrentProcess(); /*  if (!(current->flags & PROCF_ALLOW_IO)) {
    return -EPERM;
  }
*/