Displaying 8 results from an estimated 8 matches for "native_noop".
Did you mean:
native_nop
2017 Nov 17
2
[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 ?
> +# 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...
2017 Nov 17
2
[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 ?
> +# 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...
2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...> >> #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 the math identity function:
https://en.wikipedia.org/wiki/Identity_function
> >> +# define NATIVE_USERGS...
2017 Nov 17
2
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...> >> #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 the math identity function:
https://en.wikipedia.org/wiki/Identity_function
> >> +# define NATIVE_USERGS...
2017 Nov 17
0
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...>> @@ -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_SYSRET64 "swapgs; sysretq"
>> +#else
>> +# define _REG_ARG1 "%eax"
>>...
2017 Nov 18
0
[PATCH 03/13] x86/paravirt: Convert native patch assembly code strings to macros
...#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 the math identity function:
>
> https://en.wikipedia.org/wiki/Identity_function
>...
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