On 10/25/07, Manish Katiyar <mkatiyar@xxxxxxxxx> wrote: > Hi, > > As far as I understand, software interrupts are implemented using the > "int" instruction. They are normally used to execute system calls > where the system call generates a software interrupt ie.. "int 0x80h" > which is handled by the kernel and thus the program switches from user > mode to kernel mode to execute your system call. The kernel handles > this interrupt and then executes your system call depending on the > values in registers. > I *THINK* software interrupt ARE NOT implemented via "int" instruction. As I explained elsewhere in these threads, "int" will go through the IDT (interrupt descriptor table), and ultimately ended up as a hardware handler. "int" is also used to pass control from userspace to kernelspace with different CPL, so not sure if that is called "software interrupt" or not. But terminology changes and is vague sometimes. So let's focus on __do_softirq() function - it basically does not handle "int" calls, unless the IDT handler for int 0x80 setup a tasklet on the softirq queue list (only max 32 allowed). -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ