On Fri, 2008-01-18 at 10:12 +0100, Ingo Molnar wrote:
> * Harvey Harrison <[EMAIL PROTECTED]> wrote:
> 
> > Use v8086_mode inline in fault_32.c, no functional change also ifdef 
> > the section for 32-bit only and add to fault_64.c
> 
> > -   if (regs->flags & VM_MASK) {
> > +   if (v8086_mode(regs)) {
> 
> > --- a/arch/x86/mm/fault_64.c
> > +++ b/arch/x86/mm/fault_64.c
> > @@ -551,6 +551,16 @@ good_area:
> >             tsk->maj_flt++;
> >     else
> >             tsk->min_flt++;
> > +
> > +   /*
> > +    * Did it hit the DOS screen memory VA from vm86 mode?
> > +    */
> > +   if (v8086_mode(regs)) {
> > +           unsigned long bit = (address - 0xA0000) >> PAGE_SHIFT;
> > +           if (bit < 32)
> > +                   tsk->thread.screen_bitmap |= 1 << bit;
> > +   }
> 
> hm, is there even vm86 mode in 64-bit? Anyway, gcc will eliminate it i 
> guess. I've applied your patch.
> 

No, it doesn't mean anything to 64-bit, but helps make the diff a little
bit smaller, getting pretty close now.

Still needs a bit of work to introduce oops_begin/end from 64-bit to
32-bit in traps_32.c and introduce a bad_pgtable-like function to
32bit, then we're down to small differences between 32/64 bit
do_page_fault and vmalloc_sync_all that should be relatively clean
to harmonize.

Got distracted with the ptrace stuff today, but patch coming soon.

Harvey

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

Reply via email to