lkml.org 
[lkml]   [2005]   [Jun]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 30 Jun 2005 09:57:17 +0300
Fromeliad lubovsky <>
SubjectRe: Handle kernel page faults using task gate
How do I clear the 'busy' bit?
I set my TSS descriptor with
__set_tss_desc(cpu, GDT_ENTRY_PAGE_FAULT_TSS, &pagefault_tss);

Eliad

On Wed, 2005-06-29 at 22:27, Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
> 
> > * eliad lubovsky <eliadl@013.net> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-30 06:57    [from the cache]
©2003-2008