Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Jan Beulich and committed by
Ingo Molnar
2bf557ea 131484c8

+2 -2
+2 -2
arch/x86/include/asm/calling.h
··· 89 89 #define SIZEOF_PTREGS 21*8 90 90 91 91 .macro ALLOC_PT_GPREGS_ON_STACK addskip=0 92 - subq $15*8+\addskip, %rsp 92 + addq $-(15*8+\addskip), %rsp 93 93 .endm 94 94 95 95 .macro SAVE_C_REGS_HELPER offset=0 rax=1 rcx=1 r8910=1 r11=1 ··· 201 201 .endm 202 202 203 203 .macro REMOVE_PT_GPREGS_FROM_STACK addskip=0 204 - addq $15*8+\addskip, %rsp 204 + subq $-(15*8+\addskip), %rsp 205 205 .endm 206 206 207 207 .macro icebp