aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/paravirt.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-06-25 00:19:27 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 07:13:37 -0400
commitc7245da6ae7e5208504ff027c4e0eec69b788651 (patch)
tree47767af25940999d36f4682dd3e0820c1580092a /include/asm-x86/paravirt.h
parentd75cd22fdd5f7d203fb60014d426942df33dd9a6 (diff)
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/paravirt.h')
-rw-r--r--include/asm-x86/paravirt.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 2668903b70f5..dad5b4186f51 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -143,7 +143,7 @@ struct pv_cpu_ops {
143 143
144 /* These three are jmp to, not actually called. */ 144 /* These three are jmp to, not actually called. */
145 void (*irq_enable_sysexit)(void); 145 void (*irq_enable_sysexit)(void);
146 void (*usersp_sysret)(void); 146 void (*usergs_sysret)(void);
147 void (*iret)(void); 147 void (*iret)(void);
148 148
149 void (*swapgs)(void); 149 void (*swapgs)(void);
@@ -1505,10 +1505,10 @@ static inline unsigned long __raw_local_irq_save(void)
1505 movq %rax, %rcx; \ 1505 movq %rax, %rcx; \
1506 xorq %rax, %rax; 1506 xorq %rax, %rax;
1507 1507
1508#define USERSP_SYSRET \ 1508#define USERGS_SYSRET \
1509 PARA_SITE(PARA_PATCH(pv_cpu_ops, PV_CPU_usersp_sysret), \ 1509 PARA_SITE(PARA_PATCH(pv_cpu_ops, PV_CPU_usergs_sysret), \
1510 CLBR_NONE, \ 1510 CLBR_NONE, \
1511 jmp PARA_INDIRECT(pv_cpu_ops+PV_CPU_usersp_sysret)) 1511 jmp PARA_INDIRECT(pv_cpu_ops+PV_CPU_usergs_sysret))
1512#endif 1512#endif
1513 1513
1514#endif /* __ASSEMBLY__ */ 1514#endif /* __ASSEMBLY__ */