0001
0002 #ifndef _ASM_X86_NOPS_H
0003 #define _ASM_X86_NOPS_H
0004
0005 #include <asm/asm.h>
0006
0007
0008
0009
0010
0011 #ifndef CONFIG_64BIT
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #define BYTES_NOP1 0x90
0029 #define BYTES_NOP2 0x89,0xf6
0030 #define BYTES_NOP3 0x8d,0x76,0x00
0031 #define BYTES_NOP4 0x8d,0x74,0x26,0x00
0032 #define BYTES_NOP5 0x3e,BYTES_NOP4
0033 #define BYTES_NOP6 0x8d,0xb6,0x00,0x00,0x00,0x00
0034 #define BYTES_NOP7 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00
0035 #define BYTES_NOP8 0x3e,BYTES_NOP7
0036
0037 #else
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 #define BYTES_NOP1 0x90
0052 #define BYTES_NOP2 0x66,BYTES_NOP1
0053 #define BYTES_NOP3 0x0f,0x1f,0x00
0054 #define BYTES_NOP4 0x0f,0x1f,0x40,0x00
0055 #define BYTES_NOP5 0x0f,0x1f,0x44,0x00,0x00
0056 #define BYTES_NOP6 0x66,BYTES_NOP5
0057 #define BYTES_NOP7 0x0f,0x1f,0x80,0x00,0x00,0x00,0x00
0058 #define BYTES_NOP8 0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00
0059
0060 #endif
0061
0062 #define ASM_NOP1 _ASM_BYTES(BYTES_NOP1)
0063 #define ASM_NOP2 _ASM_BYTES(BYTES_NOP2)
0064 #define ASM_NOP3 _ASM_BYTES(BYTES_NOP3)
0065 #define ASM_NOP4 _ASM_BYTES(BYTES_NOP4)
0066 #define ASM_NOP5 _ASM_BYTES(BYTES_NOP5)
0067 #define ASM_NOP6 _ASM_BYTES(BYTES_NOP6)
0068 #define ASM_NOP7 _ASM_BYTES(BYTES_NOP7)
0069 #define ASM_NOP8 _ASM_BYTES(BYTES_NOP8)
0070
0071 #define ASM_NOP_MAX 8
0072
0073 #ifndef __ASSEMBLY__
0074 extern const unsigned char * const x86_nops[];
0075 #endif
0076
0077 #endif