Messages in this thread Patch in this message | | | Date | Fri, 31 Jul 2015 11:17:45 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 4/8] x86/vm86: Use the normal pt_regs area for vm86 |
| |
* Ingo Molnar <mingo@kernel.org> wrote:
> > * Brian Gerst <brgerst@gmail.com> wrote: > > > --- a/arch/x86/include/asm/vm86.h > > +++ b/arch/x86/include/asm/vm86.h > > > +static inline void save_v86_state(struct kernel_vm86_regs *, int) { } > > + > > So this is not a valid inline function and the patches were clearly not built with > !VM86 such as 64-bit defconfig: > > In file included from arch/x86/kernel/signal.c:34:0: > ./arch/x86/include/asm/vm86.h: In function ‘save_v86_state’: > ./arch/x86/include/asm/vm86.h:70:42: error: parameter name omitted > static inline void save_v86_state(struct kernel_vm86_regs *, int) { } > ./arch/x86/include/asm/vm86.h:70:42: error: parameter name omitted > > I fixed this up.
Another build fix was needed for:
arch/x86/mm/fault.c: In function ‘check_v8086_mode’: arch/x86/mm/fault.c:319:39: error: ‘struct thread_struct’ has no member named ‘vm86’
that's on 32-bit defconfig.
Thanks,
Ingo
============>
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 714a52b79e69..eef44d9a3f77 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -302,6 +302,7 @@ static inline void check_v8086_mode(struct pt_regs *regs, unsigned long address, struct task_struct *tsk) { +#ifdef CONFIG_VM86 unsigned long bit; if (!v8086_mode(regs) || !tsk->thread.vm86) @@ -310,6 +311,7 @@ check_v8086_mode(struct pt_regs *regs, unsigned long address, bit = (address - 0xA0000) >> PAGE_SHIFT; if (bit < 32) tsk->thread.vm86->screen_bitmap |= 1 << bit; +#endif } static bool low_pfn(unsigned long pfn)
| |