Re: Handle kernel page faults using task gate

From: Ingo Molnar
Date: Wed Jun 29 2005 - 14:31:29 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> * eliad lubovsky <eliadl@xxxxxxx> wrote:
>
> > I am trying to handle page faults exceptions in the kernel using the
> > task gate mechanism. I succeeded to transfer the execution to my page
> > fault handler using a new TSS and updates to the GDT and IDT tables
> > (similar to the double fault mechanism in 2.6). After handling the
> > fault and allocating the physical page I use the iret instruction to
> > switch back to the previous task. The problem is that I got a double
> > fault with the same address that cause the fault (although the
> > physical page is allocated and mapped). Any clues?
>
> are you clearing the 'nested task' (NT) flag of the new TSS once you
> have switched to it?

correction - i meant the 'busy' bit in the TSS descriptor. It's being
set by TSS-switch operations, and needs to be cleared.

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