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/