diff options
author | Jan Beulich <jbeulich@novell.com> | 2007-07-21 11:10:20 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-21 21:37:09 -0400 |
commit | cdc1793ef7f5ccc47696e3d00b827e832e4c5bdb (patch) | |
tree | 7b3d5bd738892652498e26bbd648f7398218e387 /arch | |
parent | c3508f8f341f19f6b1c3f854f144540427668151 (diff) |
x86_64: ia32entry adjustments
Consolidate the three 32-bit system call entry points so that they all
treat registers in similar ways.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/ia32/ia32entry.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S index 3f66e970d86f..938278697e20 100644 --- a/arch/x86_64/ia32/ia32entry.S +++ b/arch/x86_64/ia32/ia32entry.S | |||
@@ -104,7 +104,7 @@ ENTRY(ia32_sysenter_target) | |||
104 | pushq %rax | 104 | pushq %rax |
105 | CFI_ADJUST_CFA_OFFSET 8 | 105 | CFI_ADJUST_CFA_OFFSET 8 |
106 | cld | 106 | cld |
107 | SAVE_ARGS 0,0,0 | 107 | SAVE_ARGS 0,0,1 |
108 | /* no need to do an access_ok check here because rbp has been | 108 | /* no need to do an access_ok check here because rbp has been |
109 | 32bit zero extended */ | 109 | 32bit zero extended */ |
110 | 1: movl (%rbp),%r9d | 110 | 1: movl (%rbp),%r9d |
@@ -294,7 +294,7 @@ ia32_badarg: | |||
294 | */ | 294 | */ |
295 | 295 | ||
296 | ENTRY(ia32_syscall) | 296 | ENTRY(ia32_syscall) |
297 | CFI_STARTPROC simple | 297 | CFI_STARTPROC32 simple |
298 | CFI_SIGNAL_FRAME | 298 | CFI_SIGNAL_FRAME |
299 | CFI_DEF_CFA rsp,SS+8-RIP | 299 | CFI_DEF_CFA rsp,SS+8-RIP |
300 | /*CFI_REL_OFFSET ss,SS-RIP*/ | 300 | /*CFI_REL_OFFSET ss,SS-RIP*/ |
@@ -330,6 +330,7 @@ ia32_sysret: | |||
330 | 330 | ||
331 | ia32_tracesys: | 331 | ia32_tracesys: |
332 | SAVE_REST | 332 | SAVE_REST |
333 | CLEAR_RREGS | ||
333 | movq $-ENOSYS,RAX(%rsp) /* really needed? */ | 334 | movq $-ENOSYS,RAX(%rsp) /* really needed? */ |
334 | movq %rsp,%rdi /* &pt_regs -> arg1 */ | 335 | movq %rsp,%rdi /* &pt_regs -> arg1 */ |
335 | call syscall_trace_enter | 336 | call syscall_trace_enter |