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:
parent
a268fcfaa6
commit
cac0e0a78f
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user