diff options
author | Jan Beulich <JBeulich@suse.com> | 2015-06-01 08:02:55 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-06-02 04:10:09 -0400 |
commit | 2bf557ea3f49576fabe24cd5daf1a34e9ee22c3c (patch) | |
tree | 7f4eb25e268bfe03c0334c55c5fa8eabcb732967 | |
parent | 131484c8da97ed600c18dd9d03b661e8ae052df6 (diff) |
x86/asm/entry/64: Use negative immediates for stack adjustments
Doing so allows adjustments by 128 bytes (occurring for
REMOVE_PT_GPREGS_FROM_STACK 8 uses) to be expressed with a
single byte immediate.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/556C660F020000780007FB60@mail.emea.novell.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/include/asm/calling.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/asm/calling.h b/arch/x86/include/asm/calling.h index 0d76accde45b..f4e6308c4200 100644 --- a/arch/x86/include/asm/calling.h +++ b/arch/x86/include/asm/calling.h | |||
@@ -89,7 +89,7 @@ For 32-bit we have the following conventions - kernel is built with | |||
89 | #define SIZEOF_PTREGS 21*8 | 89 | #define SIZEOF_PTREGS 21*8 |
90 | 90 | ||
91 | .macro ALLOC_PT_GPREGS_ON_STACK addskip=0 | 91 | .macro ALLOC_PT_GPREGS_ON_STACK addskip=0 |
92 | subq $15*8+\addskip, %rsp | 92 | addq $-(15*8+\addskip), %rsp |
93 | .endm | 93 | .endm |
94 | 94 | ||
95 | .macro SAVE_C_REGS_HELPER offset=0 rax=1 rcx=1 r8910=1 r11=1 | 95 | .macro SAVE_C_REGS_HELPER offset=0 rax=1 rcx=1 r8910=1 r11=1 |
@@ -201,7 +201,7 @@ For 32-bit we have the following conventions - kernel is built with | |||
201 | .endm | 201 | .endm |
202 | 202 | ||
203 | .macro REMOVE_PT_GPREGS_FROM_STACK addskip=0 | 203 | .macro REMOVE_PT_GPREGS_FROM_STACK addskip=0 |
204 | addq $15*8+\addskip, %rsp | 204 | subq $-(15*8+\addskip), %rsp |
205 | .endm | 205 | .endm |
206 | 206 | ||
207 | .macro icebp | 207 | .macro icebp |