/Linux-v4.19/arch/s390/kernel/ |
D | nospec-branch.c | 102 u8 insnbuf[6]; in __nospec_revert() local 130 memcpy(insnbuf + 2, (char[]) { 0x47, 0x00, 0x07, 0x00 }, 4); in __nospec_revert() 133 insnbuf[0] = br[0]; in __nospec_revert() 134 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert() 137 insnbuf[2] = br[2]; in __nospec_revert() 138 insnbuf[3] = br[3]; in __nospec_revert() 144 insnbuf[1] = (instr[1] & 0xf0) | (br[1] & 0x0f); in __nospec_revert() 147 insnbuf[0] = 0x4d; in __nospec_revert() 148 insnbuf[2] = br[2]; in __nospec_revert() 149 insnbuf[3] = br[3]; in __nospec_revert() [all …]
|
D | alternative.c | 67 u8 insnbuf[MAX_PATCH_LEN]; in __apply_alternatives() local 89 memcpy(insnbuf, replacement, a->replacementlen); in __apply_alternatives() 93 add_padding(insnbuf + a->replacementlen, in __apply_alternatives() 98 s390_kernel_write(instr, insnbuf, insnbuf_sz); in __apply_alternatives()
|
/Linux-v4.19/arch/x86/kernel/ |
D | alternative.c | 273 recompute_jump(struct alt_instr *a, u8 *orig_insn, u8 *repl_insn, u8 *insnbuf) in recompute_jump() argument 282 o_dspl = *(s32 *)(insnbuf + 1); in recompute_jump() 308 insnbuf[0] = 0xeb; in recompute_jump() 309 insnbuf[1] = (s8)n_dspl; in recompute_jump() 310 add_nops(insnbuf + 2, 3); in recompute_jump() 318 insnbuf[0] = 0xe9; in recompute_jump() 319 *(s32 *)&insnbuf[1] = n_dspl; in recompute_jump() 366 u8 insnbuf[MAX_PATCH_LEN]; in apply_alternatives() local 383 BUG_ON(a->instrlen > sizeof(insnbuf)); in apply_alternatives() 401 memcpy(insnbuf, replacement, a->replacementlen); in apply_alternatives() [all …]
|
D | paravirt.c | 84 unsigned paravirt_patch_call(void *insnbuf, in paravirt_patch_call() argument 89 struct branch *b = insnbuf; in paravirt_patch_call() 106 unsigned paravirt_patch_jmp(void *insnbuf, const void *target, in paravirt_patch_jmp() argument 109 struct branch *b = insnbuf; in paravirt_patch_jmp() 152 unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf, in paravirt_patch_default() argument 160 ret = paravirt_patch_insns(insnbuf, len, ud2a, ud2a+sizeof(ud2a)); in paravirt_patch_default() 166 ret = paravirt_patch_ident_32(insnbuf, len); in paravirt_patch_default() 168 ret = paravirt_patch_ident_64(insnbuf, len); in paravirt_patch_default() 173 ret = paravirt_patch_jmp(insnbuf, opfunc, addr, len); in paravirt_patch_default() 177 ret = paravirt_patch_call(insnbuf, opfunc, CLBR_ANY, in paravirt_patch_default() [all …]
|
D | paravirt_patch_64.c | 26 unsigned paravirt_patch_ident_32(void *insnbuf, unsigned len) in paravirt_patch_ident_32() argument 28 return paravirt_patch_insns(insnbuf, len, in paravirt_patch_ident_32() 32 unsigned paravirt_patch_ident_64(void *insnbuf, unsigned len) in paravirt_patch_ident_64() argument 34 return paravirt_patch_insns(insnbuf, len, in paravirt_patch_ident_64()
|
D | paravirt_patch_32.c | 18 unsigned paravirt_patch_ident_32(void *insnbuf, unsigned len) in paravirt_patch_ident_32() argument 24 unsigned paravirt_patch_ident_64(void *insnbuf, unsigned len) in paravirt_patch_ident_64() argument
|
/Linux-v4.19/arch/x86/include/asm/ |
D | paravirt_types.h | 88 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, 374 unsigned paravirt_patch_ident_32(void *insnbuf, unsigned len); 375 unsigned paravirt_patch_ident_64(void *insnbuf, unsigned len); 376 unsigned paravirt_patch_call(void *insnbuf, 380 unsigned paravirt_patch_jmp(void *insnbuf, const void *target, 382 unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf, 385 unsigned paravirt_patch_insns(void *insnbuf, unsigned len,
|