dect
/
linux-2.6
Archived
13
0
Fork 0

x86, asm: Flip SAVE_ARGS arguments logic

This saves us the else part of the conditional statement in the macro.

No functionality change.

Signed-off-by: Borislav Petkov <bp@alien8.de>
Link: http://lkml.kernel.org/r/1306873314-32523-3-git-send-email-bp@alien8.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
Borislav Petkov 2011-05-31 22:21:52 +02:00 committed by H. Peter Anvin
parent a268fcfaa6
commit cac0e0a78f
3 changed files with 7 additions and 9 deletions

View File

@ -143,7 +143,7 @@ ENTRY(ia32_sysenter_target)
CFI_REL_OFFSET rip,0 CFI_REL_OFFSET rip,0
pushq_cfi %rax pushq_cfi %rax
cld cld
SAVE_ARGS 0,0,1 SAVE_ARGS 0,1,0
/* no need to do an access_ok check here because rbp has been /* no need to do an access_ok check here because rbp has been
32bit zero extended */ 32bit zero extended */
1: movl (%rbp),%ebp 1: movl (%rbp),%ebp
@ -289,7 +289,7 @@ ENTRY(ia32_cstar_target)
* disabled irqs and here we enable it straight after entry: * disabled irqs and here we enable it straight after entry:
*/ */
ENABLE_INTERRUPTS(CLBR_NONE) ENABLE_INTERRUPTS(CLBR_NONE)
SAVE_ARGS 8,1,1 SAVE_ARGS 8,0,0
movl %eax,%eax /* zero extension */ movl %eax,%eax /* zero extension */
movq %rax,ORIG_RAX-ARGOFFSET(%rsp) movq %rax,ORIG_RAX-ARGOFFSET(%rsp)
movq %rcx,RIP-ARGOFFSET(%rsp) movq %rcx,RIP-ARGOFFSET(%rsp)
@ -419,7 +419,7 @@ ENTRY(ia32_syscall)
cld cld
/* note the registers are not zero extended to the sf. /* note the registers are not zero extended to the sf.
this could be a problem. */ this could be a problem. */
SAVE_ARGS 0,0,1 SAVE_ARGS 0,1,0
GET_THREAD_INFO(%r10) GET_THREAD_INFO(%r10)
orl $TS_COMPAT,TI_status(%r10) orl $TS_COMPAT,TI_status(%r10)
testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10)

View File

@ -85,22 +85,20 @@ For 32-bit we have the following conventions - kernel is built with
#define ARGOFFSET R11 #define ARGOFFSET R11
#define SWFRAME ORIG_RAX #define SWFRAME ORIG_RAX
.macro SAVE_ARGS addskip=0, norcx=0, nor891011=0 .macro SAVE_ARGS addskip=0, save_rcx=1, save_r891011=1
subq $9*8+\addskip, %rsp subq $9*8+\addskip, %rsp
CFI_ADJUST_CFA_OFFSET 9*8+\addskip CFI_ADJUST_CFA_OFFSET 9*8+\addskip
movq_cfi rdi, 8*8 movq_cfi rdi, 8*8
movq_cfi rsi, 7*8 movq_cfi rsi, 7*8
movq_cfi rdx, 6*8 movq_cfi rdx, 6*8
.if \norcx .if \save_rcx
.else
movq_cfi rcx, 5*8 movq_cfi rcx, 5*8
.endif .endif
movq_cfi rax, 4*8 movq_cfi rax, 4*8
.if \nor891011 .if \save_r891011
.else
movq_cfi r8, 3*8 movq_cfi r8, 3*8
movq_cfi r9, 2*8 movq_cfi r9, 2*8
movq_cfi r10, 1*8 movq_cfi r10, 1*8

View File

@ -473,7 +473,7 @@ ENTRY(system_call_after_swapgs)
* and short: * and short:
*/ */
ENABLE_INTERRUPTS(CLBR_NONE) ENABLE_INTERRUPTS(CLBR_NONE)
SAVE_ARGS 8,1 SAVE_ARGS 8,0
movq %rax,ORIG_RAX-ARGOFFSET(%rsp) movq %rax,ORIG_RAX-ARGOFFSET(%rsp)
movq %rcx,RIP-ARGOFFSET(%rsp) movq %rcx,RIP-ARGOFFSET(%rsp)
CFI_REL_OFFSET rip,RIP-ARGOFFSET CFI_REL_OFFSET rip,RIP-ARGOFFSET