From: Santosh E. <sa...@so...> - 2000-09-14 10:46:14
|
Hello, I am studying the interrupt handling part of Linux on SH3 and have the foll doubts 1.In entry.S the interrupt vector table is filled with do_IRQ. How is this called and where are the arguments to do_IRQ initialized. Where is the r2_bank register initialized with IRQ no?(used in irq.c do_IRQ routine) 2.In entry.S restore_all routine g_imask (r6 ) is used to calculate IMASK. Where is this initialized? I saw that k_g_imask is initialized in arch/sh/kernel/head.S r6_bank is initialized to zero =>Global interrupt mask but could not find for g_imask 3.what is the significance of INTEVT and INTEVT2? In entry.S INTEVT is set to INTEVT2 addr! But from the IRQ table i see that for certain interrupts INTEVT has the same code but INTEVT2 has a different code? So should not both be used to get the interrupt code? 4. what is softirq,hardirq,tasklets? My understanding is that hardirq refers to peripheral IRQ softirq refers to software IRQ used for bottom half handling tasklets are used for SMP systems to run softIRQ on different CPU's simultaneously Is this correct? Thanks -- Santosh Eraniose ----------------------------------------------- Member Technical Sony Software Architecture Lab Bangalore ----------------------------------------------- |