x86: get rid of pt_regs argument in vm86/vm86old
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
3fe26fa34d
commit
49cb25e929
@ -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)
|
|||||||
*/
|
*/
|
||||||
.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 @@ out:
|
|||||||
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)
|
|||||||
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 @@ out:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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)
|
|||||||
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 @@
|
|||||||
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 @@
|
|||||||
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 @@
|
|||||||
|
|
||||||
#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>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user