search for: native_identity_32

Displaying 11 results from an estimated 11 matches for "native_identity_32".

2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
....h > index ac402c6fc24b..0549c5f2c1b3 100644 > --- a/arch/x86/include/asm/special_insns.h > +++ b/arch/x86/include/asm/special_insns.h > @@ -6,6 +6,30 @@ > > #include <asm/nops.h> > > +#ifdef CONFIG_X86_64 > +# define _REG_ARG1 "%rdi" > +# define NATIVE_IDENTITY_32 "mov %edi, %eax" Yeah, that "identity" looks strange. How about NATIVE_NOOP and NATIVE_NOOP_32 ? > +# define NATIVE_USERGS_SYSRET64 "swapgs; sysretq" > +#else > +# define _REG_ARG1 "%eax" > +#endif > + > +#define _REG_RET "%&quo...
2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
....h > index ac402c6fc24b..0549c5f2c1b3 100644 > --- a/arch/x86/include/asm/special_insns.h > +++ b/arch/x86/include/asm/special_insns.h > @@ -6,6 +6,30 @@ > > #include <asm/nops.h> > > +#ifdef CONFIG_X86_64 > +# define _REG_ARG1 "%rdi" > +# define NATIVE_IDENTITY_32 "mov %edi, %eax" Yeah, that "identity" looks strange. How about NATIVE_NOOP and NATIVE_NOOP_32 ? > +# define NATIVE_USERGS_SYSRET64 "swapgs; sysretq" > +#else > +# define _REG_ARG1 "%eax" > +#endif > + > +#define _REG_RET "%&quo...
2017 Oct 04
0
[PATCH 04/13] x86/paravirt: Convert DEF_NATIVE macro to GCC extended asm syntax
...pecial_insns.h b/arch/x86/include/asm/special_insns.h index 0549c5f2c1b3..4b89668f2862 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -7,14 +7,14 @@ #include <asm/nops.h> #ifdef CONFIG_X86_64 -# define _REG_ARG1 "%rdi" -# define NATIVE_IDENTITY_32 "mov %edi, %eax" +# define _REG_ARG1 "%%rdi" +# define NATIVE_IDENTITY_32 "mov %%edi, %%eax" # define NATIVE_USERGS_SYSRET64 "swapgs; sysretq" #else -# define _REG_ARG1 "%eax" +# define _REG_ARG1 "%%eax" #endif -#define _REG_...
2017 Oct 25
0
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
....h > index ac402c6fc24b..0549c5f2c1b3 100644 > --- a/arch/x86/include/asm/special_insns.h > +++ b/arch/x86/include/asm/special_insns.h > @@ -6,6 +6,30 @@ > > #include <asm/nops.h> > > +#ifdef CONFIG_X86_64 > +# define _REG_ARG1 "%rdi" > +# define NATIVE_IDENTITY_32 "mov %edi, %eax" > +# define NATIVE_USERGS_SYSRET64 "swapgs; sysretq" > +#else > +# define _REG_ARG1 "%eax" > +#endif > + > +#define _REG_RET "%" _ASM_AX > + > +#define NATIVE_ZERO "xor " _REG_ARG1 ", " _REG...
2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...ude/asm/special_insns.h > >> +++ b/arch/x86/include/asm/special_insns.h > >> @@ -6,6 +6,30 @@ > >> > >> #include <asm/nops.h> > >> > >> +#ifdef CONFIG_X86_64 > >> +# define _REG_ARG1 "%rdi" > >> +# define NATIVE_IDENTITY_32 "mov %edi, %eax" > > > > Yeah, that "identity" looks strange. How about NATIVE_NOOP and > > NATIVE_NOOP_32 ? > > Those are not NOPs. They return the identical value which was passed to > them. So identity isn't a bad name after all. Right, like...
2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...ude/asm/special_insns.h > >> +++ b/arch/x86/include/asm/special_insns.h > >> @@ -6,6 +6,30 @@ > >> > >> #include <asm/nops.h> > >> > >> +#ifdef CONFIG_X86_64 > >> +# define _REG_ARG1 "%rdi" > >> +# define NATIVE_IDENTITY_32 "mov %edi, %eax" > > > > Yeah, that "identity" looks strange. How about NATIVE_NOOP and > > NATIVE_NOOP_32 ? > > Those are not NOPs. They return the identical value which was passed to > them. So identity isn't a bad name after all. Right, like...
2017 Oct 04
1
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...ecial_insns.h b/arch/x86/include/asm/special_insns.h index ac402c6fc24b..0549c5f2c1b3 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -6,6 +6,30 @@ #include <asm/nops.h> +#ifdef CONFIG_X86_64 +# define _REG_ARG1 "%rdi" +# define NATIVE_IDENTITY_32 "mov %edi, %eax" +# define NATIVE_USERGS_SYSRET64 "swapgs; sysretq" +#else +# define _REG_ARG1 "%eax" +#endif + +#define _REG_RET "%" _ASM_AX + +#define NATIVE_ZERO "xor " _REG_ARG1 ", " _REG_ARG1 +#define NATIVE_IDENTITY "m...
2017 Nov 17
0
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...c1b3 100644 >> --- a/arch/x86/include/asm/special_insns.h >> +++ b/arch/x86/include/asm/special_insns.h >> @@ -6,6 +6,30 @@ >> >> #include <asm/nops.h> >> >> +#ifdef CONFIG_X86_64 >> +# define _REG_ARG1 "%rdi" >> +# define NATIVE_IDENTITY_32 "mov %edi, %eax" > > Yeah, that "identity" looks strange. How about NATIVE_NOOP and > NATIVE_NOOP_32 ? Those are not NOPs. They return the identical value which was passed to them. So identity isn't a bad name after all. > >> +# define NATIVE_USERGS_SY...
2017 Nov 18
0
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...>>>> +++ b/arch/x86/include/asm/special_insns.h >>>> @@ -6,6 +6,30 @@ >>>> >>>> #include <asm/nops.h> >>>> >>>> +#ifdef CONFIG_X86_64 >>>> +# define _REG_ARG1 "%rdi" >>>> +# define NATIVE_IDENTITY_32 "mov %edi, %eax" >>> >>> Yeah, that "identity" looks strange. How about NATIVE_NOOP and >>> NATIVE_NOOP_32 ? >> >> Those are not NOPs. They return the identical value which was passed to >> them. So identity isn't a bad name afte...
2017 Oct 04
31
[PATCH 00/13] x86/paravirt: Make pv ops code generation more closely match reality
This changes the pv ops code generation to more closely match reality. For example, instead of: callq *0xffffffff81e3a400 (pv_irq_ops.save_fl) vmlinux will now show: pushfq pop %rax nop nop nop nop nop which is what the runtime version of the code will show in most cases. This idea was suggested by Andy Lutomirski. The benefits are: - For the most common runtime cases
2017 Oct 04
31
[PATCH 00/13] x86/paravirt: Make pv ops code generation more closely match reality
This changes the pv ops code generation to more closely match reality. For example, instead of: callq *0xffffffff81e3a400 (pv_irq_ops.save_fl) vmlinux will now show: pushfq pop %rax nop nop nop nop nop which is what the runtime version of the code will show in most cases. This idea was suggested by Andy Lutomirski. The benefits are: - For the most common runtime cases