4.17-stable review patch. If anyone has any objections, please let me know.
------------------ From: H. Peter Anvin <h...@linux.intel.com> commit 0e2e160033283e20f688d8bad5b89460cc5bfcc4 upstream. i386 and x86-64 uses different registers for arguments; make them available so we don't have to #ifdef in the actual code. Native size and specified size (q, l, w, b) versions are provided. Signed-off-by: H. Peter Anvin <h...@linux.intel.com> Signed-off-by: Nick Desaulniers <ndesaulni...@google.com> Reviewed-by: Sedat Dilek <sedat.di...@gmail.com> Acked-by: Juergen Gross <jgr...@suse.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: a...@redhat.com Cc: akata...@vmware.com Cc: a...@linux-foundation.org Cc: andrea.pa...@amarulasolutions.com Cc: ard.biesheu...@linaro.org Cc: a...@arndb.de Cc: aryabi...@virtuozzo.com Cc: astrac...@google.com Cc: boris.ostrov...@oracle.com Cc: brijesh.si...@amd.com Cc: caoj.f...@cn.fujitsu.com Cc: ge...@linux-m68k.org Cc: ghackm...@google.com Cc: gre...@linuxfoundation.org Cc: jan.kis...@siemens.com Cc: jarkko.sakki...@linux.intel.com Cc: j...@perches.com Cc: jpoim...@redhat.com Cc: keesc...@google.com Cc: kirill.shute...@linux.intel.com Cc: kstew...@linuxfoundation.org Cc: linux-...@vger.kernel.org Cc: linux-kbu...@vger.kernel.org Cc: manojgu...@google.com Cc: mawil...@microsoft.com Cc: michal.l...@markovi.net Cc: mj...@google.com Cc: m...@chromium.org Cc: pombreda...@nexb.com Cc: rient...@google.com Cc: rost...@goodmis.org Cc: thomas.lenda...@amd.com Cc: tstel...@redhat.com Cc: tw...@google.com Cc: virtualization@lists.linux-foundation.org Cc: will.dea...@arm.com Cc: yamada.masah...@socionext.com Link: http://lkml.kernel.org/r/20180621162324.36656-3-ndesaulni...@google.com Signed-off-by: Ingo Molnar <mi...@kernel.org> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- arch/x86/include/asm/asm.h | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) --- a/arch/x86/include/asm/asm.h +++ b/arch/x86/include/asm/asm.h @@ -46,6 +46,65 @@ #define _ASM_SI __ASM_REG(si) #define _ASM_DI __ASM_REG(di) +#ifndef __x86_64__ +/* 32 bit */ + +#define _ASM_ARG1 _ASM_AX +#define _ASM_ARG2 _ASM_DX +#define _ASM_ARG3 _ASM_CX + +#define _ASM_ARG1L eax +#define _ASM_ARG2L edx +#define _ASM_ARG3L ecx + +#define _ASM_ARG1W ax +#define _ASM_ARG2W dx +#define _ASM_ARG3W cx + +#define _ASM_ARG1B al +#define _ASM_ARG2B dl +#define _ASM_ARG3B cl + +#else +/* 64 bit */ + +#define _ASM_ARG1 _ASM_DI +#define _ASM_ARG2 _ASM_SI +#define _ASM_ARG3 _ASM_DX +#define _ASM_ARG4 _ASM_CX +#define _ASM_ARG5 r8 +#define _ASM_ARG6 r9 + +#define _ASM_ARG1Q rdi +#define _ASM_ARG2Q rsi +#define _ASM_ARG3Q rdx +#define _ASM_ARG4Q rcx +#define _ASM_ARG5Q r8 +#define _ASM_ARG6Q r9 + +#define _ASM_ARG1L edi +#define _ASM_ARG2L esi +#define _ASM_ARG3L edx +#define _ASM_ARG4L ecx +#define _ASM_ARG5L r8d +#define _ASM_ARG6L r9d + +#define _ASM_ARG1W di +#define _ASM_ARG2W si +#define _ASM_ARG3W dx +#define _ASM_ARG4W cx +#define _ASM_ARG5W r8w +#define _ASM_ARG6W r9w + +#define _ASM_ARG1B dil +#define _ASM_ARG2B sil +#define _ASM_ARG3B dl +#define _ASM_ARG4B cl +#define _ASM_ARG5B r8b +#define _ASM_ARG6B r9b + +#endif + /* * Macros to generate condition code outputs from inline assembly, * The output operand must be type "bool". _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization