This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What happens if an interrupt occurs as it is already disabled

for ARMv7 architecture:What happens if an interrupt occurs as it is already disabled

  • If an interrupt is masked in the CPSR then the short answer is nothing - the processor will simply ignore any interrupts which arrive when the interrupt is masked.

    However, in most cases interrupts are not transient signals - most peripherals will keep their interrupt line asserted until it is cleared by explicit action (e.g. a device driver clears the interrupt). This means that even though the CPU does not take the interrupt when it is first asserted, the peripheral will keep the interrupt line active and the interrupt will be taken when the CPU eventually unmasks IRQ or FIQ (depending which interrupt type it is associated with).

    HTH,
    Pete

  • Hi manyam,

    It again depends on how your implementation is.

    As peter specified there are few peripheral interrupt controllers which keeps the interrupt status alive until you service/clear it.

    But as the general point, when you disabled in CPSR then there is no effect, the moment you unmask it then depending on the implementation it will be serviced or ignored.