/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_X86_NOPS_H
#define _ASM_X86_NOPS_H
#include <asm /asm .h>
/*
* Define nops for use with alternative ( ) and for tracing .
*/
#ifndef CONFIG_64BIT
/*
* Generic 32 bit nops from GAS :
*
* 1 : nop
* 2 : movl % esi , % esi
* 3 : leal 0 x0 ( % esi ) , % esi
* 4 : leal 0 x0 ( % esi , % eiz , 1 ) , % esi
* 5 : leal % ds : 0 x0 ( % esi , % eiz , 1 ) , % esi
* 6 : leal 0 x0 ( % esi ) , % esi
* 7 : leal 0 x0 ( % esi , % eiz , 1 ) , % esi
* 8 : leal % ds : 0 x0 ( % esi , % eiz , 1 ) , % esi
*
* Except 5 and 8 , which are DS prefixed 4 and 7 resp , where GAS would emit 2
* nop instructions .
*/
#define BYTES_NOP1 0 x90
#define BYTES_NOP2 0 x89,0 xf6
#define BYTES_NOP3 0 x8d,0 x76,0 x00
#define BYTES_NOP4 0 x8d,0 x74,0 x26,0 x00
#define BYTES_NOP5 0 x3e,BYTES_NOP4
#define BYTES_NOP6 0 x8d,0 xb6,0 x00,0 x00,0 x00,0 x00
#define BYTES_NOP7 0 x8d,0 xb4,0 x26,0 x00,0 x00,0 x00,0 x00
#define BYTES_NOP8 0 x3e,BYTES_NOP7
#define ASM_NOP_MAX 8
#else
/*
* Generic 64 bit nops from GAS :
*
* 1 : nop
* 2 : osp nop
* 3 : nopl ( % eax )
* 4 : nopl 0 x00 ( % eax )
* 5 : nopl 0 x00 ( % eax , % eax , 1 )
* 6 : osp nopl 0 x00 ( % eax , % eax , 1 )
* 7 : nopl 0 x00000000 ( % eax )
* 8 : nopl 0 x00000000 ( % eax , % eax , 1 )
* 9 : cs nopl 0 x00000000 ( % eax , % eax , 1 )
* 10 : osp cs nopl 0 x00000000 ( % eax , % eax , 1 )
* 11 : osp osp cs nopl 0 x00000000 ( % eax , % eax , 1 )
*/
#define BYTES_NOP1 0 x90
#define BYTES_NOP2 0 x66,BYTES_NOP1
#define BYTES_NOP3 0 x0f,0 x1f,0 x00
#define BYTES_NOP4 0 x0f,0 x1f,0 x40,0 x00
#define BYTES_NOP5 0 x0f,0 x1f,0 x44,0 x00,0 x00
#define BYTES_NOP6 0 x66,BYTES_NOP5
#define BYTES_NOP7 0 x0f,0 x1f,0 x80,0 x00,0 x00,0 x00,0 x00
#define BYTES_NOP8 0 x0f,0 x1f,0 x84,0 x00,0 x00,0 x00,0 x00,0 x00
#define BYTES_NOP9 0 x2e,BYTES_NOP8
#define BYTES_NOP10 0 x66,BYTES_NOP9
#define BYTES_NOP11 0 x66,BYTES_NOP10
#define ASM_NOP9 _ASM_BYTES(BYTES_NOP9)
#define ASM_NOP10 _ASM_BYTES(BYTES_NOP10)
#define ASM_NOP11 _ASM_BYTES(BYTES_NOP11)
#define ASM_NOP_MAX 11
#endif /* CONFIG_64BIT */
#define ASM_NOP1 _ASM_BYTES(BYTES_NOP1)
#define ASM_NOP2 _ASM_BYTES(BYTES_NOP2)
#define ASM_NOP3 _ASM_BYTES(BYTES_NOP3)
#define ASM_NOP4 _ASM_BYTES(BYTES_NOP4)
#define ASM_NOP5 _ASM_BYTES(BYTES_NOP5)
#define ASM_NOP6 _ASM_BYTES(BYTES_NOP6)
#define ASM_NOP7 _ASM_BYTES(BYTES_NOP7)
#define ASM_NOP8 _ASM_BYTES(BYTES_NOP8)
#ifndef __ASSEMBLER__
extern const unsigned char * const x86_nops[];
#endif
#endif /* _ASM_X86_NOPS_H */
Messung V0.5 in Prozent C=94 H=43 G=72
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-28)
¤
*© Formatika GbR, Deutschland