Skip to content

Commit

Permalink
x86: get rid of pt_regs argument in vm86/vm86old
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Feb 3, 2013
1 parent 3fe26fa commit 49cb25e
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 32 deletions.
4 changes: 2 additions & 2 deletions arch/x86/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
unsigned long sys_sigreturn(void);

/* kernel/vm86_32.c */
int sys_vm86old(struct vm86_struct __user *, struct pt_regs *);
int sys_vm86(unsigned long, unsigned long, struct pt_regs *);
int sys_vm86old(struct vm86_struct __user *);
int sys_vm86(unsigned long, unsigned long);

#else /* CONFIG_X86_32 */

Expand Down
21 changes: 0 additions & 21 deletions arch/x86/kernel/entry_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -699,27 +699,6 @@ END(syscall_badsys)
*/
.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
/*
* Switch back for ESPFIX stack to the normal zerobased stack
Expand Down
8 changes: 4 additions & 4 deletions arch/x86/kernel/vm86_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ static void mark_screen_rdonly(struct mm_struct *mm)
static int do_vm86_irq_handling(int subfunction, int irqnumber);
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_,
* this avoids wasting of stack space.
Expand All @@ -222,7 +222,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
if (tmp)
goto out;
memset(&info.vm86plus, 0, (int)&info.regs32 - (int)&info.vm86plus);
info.regs32 = regs;
info.regs32 = current_pt_regs();
tsk->thread.vm86_info = v86;
do_sys_vm86(&info, tsk);
ret = 0; /* we never return here */
Expand All @@ -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_,
* this avoids wasting of stack space.
Expand Down Expand Up @@ -272,7 +272,7 @@ int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs)
ret = -EFAULT;
if (tmp)
goto out;
info.regs32 = regs;
info.regs32 = current_pt_regs();
info.vm86plus.is_vm86pus = 1;
tsk->thread.vm86_info = (struct vm86_struct __user *)v86;
do_sys_vm86(&info, tsk);
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/syscalls/syscall_32.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
110 i386 iopl sys_iopl
111 i386 vhangup sys_vhangup
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
115 i386 swapoff sys_swapoff
116 i386 sysinfo sys_sysinfo compat_sys_sysinfo
Expand Down Expand Up @@ -172,7 +172,7 @@
163 i386 mremap sys_mremap
164 i386 setresuid sys_setresuid16
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
168 i386 poll sys_poll
169 i386 nfsservctl
Expand Down
3 changes: 0 additions & 3 deletions arch/x86/um/sys_call_table_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@

#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) ;
#include <asm/syscalls_32.h>

Expand Down

0 comments on commit 49cb25e

Please sign in to comment.