Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

x86: get rid of pt_regs argument in vm86/vm86old



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 3fe26fa3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 */

+0 −21
Original line number Diff line number Diff line
@@ -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
+4 −4
Original line number Diff line number Diff line
@@ -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.
@@ -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 */
@@ -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.
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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
@@ -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
+0 −3
Original line number Diff line number Diff line
@@ -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>