Re: [PATCHv2] x86: Use v8086_mode helper, trivial unification

From: Harvey Harrison
Date: Fri Jan 18 2008 - 04:22:21 EST


On Fri, 2008-01-18 at 10:12 +0100, Ingo Molnar wrote:
> * Harvey Harrison <harvey.harrison@xxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/