On 25-11-07 08:58, Ramagudi Naziir wrote:
I read in intel's manual that you can either put interrupt gate or a task gate in the IDT.
Or trap-gate, which is an interrupt-gate minus the automatic interrupt disabling.
So what does Linux put there ? when an int 80 is executed - is it via an interrupt gate or task gate ?
Trap-gate.
are task gates used in Linux anyway ?
Only for a double fault (defined as an exception that occurs while calling the handler for a previous one and which cannot be handled serially; a page fault occuring while trying to call the page-fault handler for example) and only since late 2.5 or early 2.6 or so.
The most definite advantage of using a task gate for this seems likely to be that a task switch also switches stacks so that a stack fault won't just keep recursing upon trying to call the handler and end up as a triple-fault, meaning an automatic CPU shutdown.
You can see Linux set up the IDT in trap_init(). Rene. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ