summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/irqflags.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge2008-06-25 06:19:27 +0200
committerIngo Molnar2008-07-08 13:13:37 +0200
commitc7245da6ae7e5208504ff027c4e0eec69b788651 (patch)
tree47767af25940999d36f4682dd3e0820c1580092a /include/asm-x86/irqflags.h
parentx86/paravirt: split sysret and sysexit (diff)
downloadkernel-qcow2-linux-c7245da6ae7e5208504ff027c4e0eec69b788651.tar.gz
kernel-qcow2-linux-c7245da6ae7e5208504ff027c4e0eec69b788651.tar.xz
kernel-qcow2-linux-c7245da6ae7e5208504ff027c4e0eec69b788651.zip
x86/paravirt, 64-bit: don't restore user rsp within sysret
There's no need to combine restoring the user rsp within the sysret pvop, so split it out. This makes the pvop's semantics closer to the machine instruction. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citirx.com> Cc: xen-devel <xen-devel@lists.xensource.com> Cc: Stephen Tweedie <sct@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/irqflags.h')
-rw-r--r--include/asm-x86/irqflags.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/asm-x86/irqflags.h b/include/asm-x86/irqflags.h
index 99ee5256a7e3..544836c96b61 100644
--- a/include/asm-x86/irqflags.h
+++ b/include/asm-x86/irqflags.h
@@ -112,8 +112,7 @@ static inline unsigned long __raw_local_irq_save(void)
#ifdef CONFIG_X86_64
#define INTERRUPT_RETURN iretq
-#define USERSP_SYSRET \
- movq %gs:pda_oldrsp, %rsp; \
+#define USERGS_SYSRET \
swapgs; \
sysretq;
#else