Commit 49cb25e9 authored by Al Viro's avatar Al Viro

x86: get rid of pt_regs argument in vm86/vm86old

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 3fe26fa3
...@@ -40,8 +40,8 @@ asmlinkage int sys_sigaction(int, const struct old_sigaction __user *, ...@@ -40,8 +40,8 @@ asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
unsigned long sys_sigreturn(void); unsigned long sys_sigreturn(void);
/* kernel/vm86_32.c */ /* kernel/vm86_32.c */
int sys_vm86old(struct vm86_struct __user *, struct pt_regs *); int sys_vm86old(struct vm86_struct __user *);
int sys_vm86(unsigned long, unsigned long, struct pt_regs *); int sys_vm86(unsigned long, unsigned long);
#else /* CONFIG_X86_32 */ #else /* CONFIG_X86_32 */
......
...@@ -699,27 +699,6 @@ END(syscall_badsys) ...@@ -699,27 +699,6 @@ END(syscall_badsys)
*/ */
.popsection .popsection
/*
* System calls that need a pt_regs pointer.
*/
#define PTREGSCALL1(name) \
ENTRY(ptregs_##name) ; \
leal 4(%esp),%edx; \
movl (PT_EBX+4)(%esp),%eax; \
jmp sys_##name; \
ENDPROC(ptregs_##name)
#define PTREGSCALL2(name) \
ENTRY(ptregs_##name) ; \
leal 4(%esp),%ecx; \
movl (PT_ECX+4)(%esp),%edx; \
movl (PT_EBX+4)(%esp),%eax; \
jmp sys_##name; \
ENDPROC(ptregs_##name)
PTREGSCALL2(vm86)
PTREGSCALL1(vm86old)
.macro FIXUP_ESPFIX_STACK .macro FIXUP_ESPFIX_STACK
/* /*
* Switch back for ESPFIX stack to the normal zerobased stack * Switch back for ESPFIX stack to the normal zerobased stack
......
...@@ -202,7 +202,7 @@ static void mark_screen_rdonly(struct mm_struct *mm) ...@@ -202,7 +202,7 @@ static void mark_screen_rdonly(struct mm_struct *mm)
static int do_vm86_irq_handling(int subfunction, int irqnumber); static int do_vm86_irq_handling(int subfunction, int irqnumber);
static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk); static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk);
int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs) int sys_vm86old(struct vm86_struct __user *v86)
{ {
struct kernel_vm86_struct info; /* declare this _on top_, struct kernel_vm86_struct info; /* declare this _on top_,
* this avoids wasting of stack space. * this avoids wasting of stack space.
...@@ -222,7 +222,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs) ...@@ -222,7 +222,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
if (tmp) if (tmp)
goto out; goto out;
memset(&info.vm86plus, 0, (int)&info.regs32 - (int)&info.vm86plus); memset(&info.vm86plus, 0, (int)&info.regs32 - (int)&info.vm86plus);
info.regs32 = regs; info.regs32 = current_pt_regs();
tsk->thread.vm86_info = v86; tsk->thread.vm86_info = v86;
do_sys_vm86(&info, tsk); do_sys_vm86(&info, tsk);
ret = 0; /* we never return here */ ret = 0; /* we never return here */
...@@ -231,7 +231,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs) ...@@ -231,7 +231,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
} }
int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs) int sys_vm86(unsigned long cmd, unsigned long arg)
{ {
struct kernel_vm86_struct info; /* declare this _on top_, struct kernel_vm86_struct info; /* declare this _on top_,
* this avoids wasting of stack space. * this avoids wasting of stack space.
...@@ -272,7 +272,7 @@ int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs) ...@@ -272,7 +272,7 @@ int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs)
ret = -EFAULT; ret = -EFAULT;
if (tmp) if (tmp)
goto out; goto out;
info.regs32 = regs; info.regs32 = current_pt_regs();
info.vm86plus.is_vm86pus = 1; info.vm86plus.is_vm86pus = 1;
tsk->thread.vm86_info = (struct vm86_struct __user *)v86; tsk->thread.vm86_info = (struct vm86_struct __user *)v86;
do_sys_vm86(&info, tsk); do_sys_vm86(&info, tsk);
......
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
110 i386 iopl sys_iopl 110 i386 iopl sys_iopl
111 i386 vhangup sys_vhangup 111 i386 vhangup sys_vhangup
112 i386 idle 112 i386 idle
113 i386 vm86old ptregs_vm86old sys32_vm86_warning 113 i386 vm86old sys_vm86old sys32_vm86_warning
114 i386 wait4 sys_wait4 compat_sys_wait4 114 i386 wait4 sys_wait4 compat_sys_wait4
115 i386 swapoff sys_swapoff 115 i386 swapoff sys_swapoff
116 i386 sysinfo sys_sysinfo compat_sys_sysinfo 116 i386 sysinfo sys_sysinfo compat_sys_sysinfo
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
163 i386 mremap sys_mremap 163 i386 mremap sys_mremap
164 i386 setresuid sys_setresuid16 164 i386 setresuid sys_setresuid16
165 i386 getresuid sys_getresuid16 165 i386 getresuid sys_getresuid16
166 i386 vm86 ptregs_vm86 sys32_vm86_warning 166 i386 vm86 sys_vm86 sys32_vm86_warning
167 i386 query_module 167 i386 query_module
168 i386 poll sys_poll 168 i386 poll sys_poll
169 i386 nfsservctl 169 i386 nfsservctl
......
...@@ -24,9 +24,6 @@ ...@@ -24,9 +24,6 @@
#define old_mmap sys_old_mmap #define old_mmap sys_old_mmap
#define ptregs_vm86old sys_vm86old
#define ptregs_vm86 sys_vm86
#define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void sym(void) ; #define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void sym(void) ;
#include <asm/syscalls_32.h> #include <asm/syscalls_32.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment