From: Brian Gerst <brgerst@gmail.com>
To: hpa@zytor.com
Cc: Ingo Molnar <mingo@elte.hu>,
x86@kernel.org, torvalds@linux-foundation.org, jeremy@goop.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 5/6] x86, 32-bit: Convert sys_vm86 & sys_vm86old
Date: Wed, 9 Dec 2009 19:01:55 -0500 [thread overview]
Message-ID: <1260403316-5679-6-git-send-email-brgerst@gmail.com> (raw)
In-Reply-To: <1260403316-5679-1-git-send-email-brgerst@gmail.com>
Convert these to new PTREGSCALL stubs.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
---
arch/x86/include/asm/syscalls.h | 4 ++--
arch/x86/kernel/entry_32.S | 4 ++--
arch/x86/kernel/vm86_32.c | 11 +++++------
3 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h
index 94e0b61..df2c511 100644
--- a/arch/x86/include/asm/syscalls.h
+++ b/arch/x86/include/asm/syscalls.h
@@ -66,8 +66,8 @@ asmlinkage int sys_uname(struct old_utsname __user *);
asmlinkage int sys_olduname(struct oldold_utsname __user *);
/* kernel/vm86_32.c */
-int sys_vm86old(struct pt_regs *);
-int sys_vm86(struct pt_regs *);
+int sys_vm86old(struct vm86_struct __user *, struct pt_regs *);
+int sys_vm86(unsigned long, unsigned long, struct pt_regs *);
#else /* CONFIG_X86_32 */
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 621ef45..6c2f25d 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -766,8 +766,8 @@ PTREGSCALL3(execve)
PTREGSCALL2(sigaltstack)
PTREGSCALL0(sigreturn)
PTREGSCALL0(rt_sigreturn)
-PTREGSCALL0(vm86)
-PTREGSCALL0(vm86old)
+PTREGSCALL2(vm86)
+PTREGSCALL1(vm86old)
.macro FIXUP_ESPFIX_STACK
/*
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
index 9c4e625..5ffb562 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -197,9 +197,8 @@ out:
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 pt_regs *regs)
+int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
{
- struct vm86_struct __user *v86 = (struct vm86_struct __user *)regs->bx;
struct kernel_vm86_struct info; /* declare this _on top_,
* this avoids wasting of stack space.
* This remains on the stack until we
@@ -227,7 +226,7 @@ out:
}
-int sys_vm86(struct pt_regs *regs)
+int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs)
{
struct kernel_vm86_struct info; /* declare this _on top_,
* this avoids wasting of stack space.
@@ -239,12 +238,12 @@ int sys_vm86(struct pt_regs *regs)
struct vm86plus_struct __user *v86;
tsk = current;
- switch (regs->bx) {
+ switch (cmd) {
case VM86_REQUEST_IRQ:
case VM86_FREE_IRQ:
case VM86_GET_IRQ_BITS:
case VM86_GET_AND_RESET_IRQ:
- ret = do_vm86_irq_handling(regs->bx, (int)regs->cx);
+ ret = do_vm86_irq_handling(cmd, (int)arg);
goto out;
case VM86_PLUS_INSTALL_CHECK:
/*
@@ -261,7 +260,7 @@ int sys_vm86(struct pt_regs *regs)
ret = -EPERM;
if (tsk->thread.saved_sp0)
goto out;
- v86 = (struct vm86plus_struct __user *)regs->cx;
+ v86 = (struct vm86plus_struct __user *)arg;
tmp = copy_vm86_regs_from_user(&info.regs, &v86->regs,
offsetof(struct kernel_vm86_struct, regs32) -
sizeof(info.regs));
--
1.6.5.2
next prev parent reply other threads:[~2009-12-10 0:02 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-10 0:01 [PATCH 0/6] x86: Merge pt_regs using syscalls Brian Gerst
2009-12-10 0:01 ` [PATCH 1/6] x86, 32-bit: Add new pt_regs stubs Brian Gerst
2009-12-10 0:05 ` H. Peter Anvin
2009-12-10 0:45 ` [tip:x86/asm] x86-32: " tip-bot for Brian Gerst
2009-12-10 0:47 ` [tip:x86/asm] x86-32: Avoid pipeline serialization in PTREGSCALL1 and 2 tip-bot for H. Peter Anvin
2009-12-10 0:01 ` [PATCH 2/6] x86: Merge sys_iopl Brian Gerst
2009-12-10 0:45 ` [tip:x86/asm] " tip-bot for Brian Gerst
2009-12-10 0:57 ` [tip:x86/asm] x86-64, paravirt: Call set_iopl_mask() on 64 bits tip-bot for H. Peter Anvin
2009-12-10 0:01 ` [PATCH 3/6] x86: Merge sys_execve Brian Gerst
2009-12-10 0:46 ` [tip:x86/asm] " tip-bot for Brian Gerst
2009-12-10 0:01 ` [PATCH 4/6] x86: Merge sys_sigaltstack Brian Gerst
2009-12-10 0:46 ` [tip:x86/asm] " tip-bot for Brian Gerst
2009-12-10 0:01 ` Brian Gerst [this message]
2009-12-10 0:46 ` [tip:x86/asm] x86, 32-bit: Convert sys_vm86 & sys_vm86old tip-bot for Brian Gerst
2009-12-10 0:01 ` [PATCH 6/6] x86: Merge sys_clone Brian Gerst
2009-12-10 0:46 ` [tip:x86/asm] " tip-bot for Brian Gerst
2009-12-10 0:47 ` [PATCH 0/6] x86: Merge pt_regs using syscalls H. Peter Anvin
2009-12-10 0:52 ` Jeremy Fitzhardinge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1260403316-5679-6-git-send-email-brgerst@gmail.com \
--to=brgerst@gmail.com \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox