Guys,
I am trying to understand the flow of control when an interrupt comes.
I am reading linux-2.6.24 src code and looking at arch/arm/kernel/entry-armv.S.
At the bottom of this file I see the vector table as below -
__vectors_start:
swi SYS_ERROR0
b vector_und + stubs_offset
ldr pc, .LCvswi + stubs_offset
b vector_pabt + stubs_offset
b vector_dabt + stubs_offset
b vector_addrexcptn + stubs_offset
b vector_irq + stubs_offset
b vector_fiq + stubs_offset
.globl __vectors_end
Here is not 'stubs_offset' a constant? and after seeing an IRQ where are we branching by doing ' b vector_irq + stubs_offset' and what is the flow of control???
Thanks in advance.