x86: Use {push,pop}_cfi in more places
Cleaning up and shortening code... Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Alexander van Heukelum <heukelum@fastmail.fm> LKML-Reference: <4D6BD35002000078000341DA@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Esse commit está contido em:
@@ -126,26 +126,20 @@ ENTRY(ia32_sysenter_target)
|
||||
*/
|
||||
ENABLE_INTERRUPTS(CLBR_NONE)
|
||||
movl %ebp,%ebp /* zero extension */
|
||||
pushq $__USER32_DS
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi $__USER32_DS
|
||||
/*CFI_REL_OFFSET ss,0*/
|
||||
pushq %rbp
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi %rbp
|
||||
CFI_REL_OFFSET rsp,0
|
||||
pushfq
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushfq_cfi
|
||||
/*CFI_REL_OFFSET rflags,0*/
|
||||
movl 8*3-THREAD_SIZE+TI_sysenter_return(%rsp), %r10d
|
||||
CFI_REGISTER rip,r10
|
||||
pushq $__USER32_CS
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi $__USER32_CS
|
||||
/*CFI_REL_OFFSET cs,0*/
|
||||
movl %eax, %eax
|
||||
pushq %r10
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi %r10
|
||||
CFI_REL_OFFSET rip,0
|
||||
pushq %rax
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi %rax
|
||||
cld
|
||||
SAVE_ARGS 0,0,1
|
||||
/* no need to do an access_ok check here because rbp has been
|
||||
@@ -182,11 +176,9 @@ sysexit_from_sys_call:
|
||||
xorq %r9,%r9
|
||||
xorq %r10,%r10
|
||||
xorq %r11,%r11
|
||||
popfq
|
||||
CFI_ADJUST_CFA_OFFSET -8
|
||||
popfq_cfi
|
||||
/*CFI_RESTORE rflags*/
|
||||
popq %rcx /* User %esp */
|
||||
CFI_ADJUST_CFA_OFFSET -8
|
||||
popq_cfi %rcx /* User %esp */
|
||||
CFI_REGISTER rsp,rcx
|
||||
TRACE_IRQS_ON
|
||||
ENABLE_INTERRUPTS_SYSEXIT32
|
||||
@@ -421,8 +413,7 @@ ENTRY(ia32_syscall)
|
||||
*/
|
||||
ENABLE_INTERRUPTS(CLBR_NONE)
|
||||
movl %eax,%eax
|
||||
pushq %rax
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
pushq_cfi %rax
|
||||
cld
|
||||
/* note the registers are not zero extended to the sf.
|
||||
this could be a problem. */
|
||||
|
Referência em uma nova issue
Block a user