lkml.org 
[lkml]   [2000]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Why is double_fault serviced by a trap gate?
On Thu, 7 Dec 2000, Petr Vandrovec wrote:

> No. If interrupt uses task gate, task switch happens. Nothing is stored
> in context of old process except registers into TSS. There is only one
> (bad) problem. If you want to get it 100% proof (it is not needed for double
> fault, but it is definitely needed for NMI, as NMI is very often on SMP
> ia32), each CPU's IRQ vector must point to different task, otherwise you
> can get TSS in use during doublefault, leading to triplefault again...

Well, I expect wasting a descriptor and a page of memory for the purpose
of a TSS is not a big problem.

> Yes. Currently if any ESP related problem happens in kernel, machine silently
> reboots without any message. With task gate (as Jeff Merkey proposed

You might handle the stack fault with a task gate, actually, but I'm not
sure it's worth the hassle. Handling just the double fault should be
sufficient.

> some months ago, btw), you can even suspend offending task and recover
> from it... I think that also bluesmoke should use task gate, but I
> did not read documentation on this yet.

Yep. An MCE is an abort like a double-fault, so the CPU state might be
corrupted (by definition -- I have no idea whether it really happens).

--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:51    [W:0.025 / U:0.876 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site